Stats_get_csv убивает мою скорость загрузки в моем плагинеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Stats_get_csv убивает мою скорость загрузки в моем плагине

Сообщение Anonymous »

Я создаю плагин, который экспортирует сообщения в CSV. Дело в том, что я использую функцию stats_get_csv из Jetpack, чтобы получить количество просмотров каждого сообщения, и это замедляет мою скорость загрузки до 100 байт/с. Это катастрофа.
Моя функция набирать просмотры:

Код: Выделить всё

function get_page_views($post_id)
{

$cache_key = 'post_views_'.$post_id;
$views = wp_cache_get($cache_key);

if ($views === false) {
if (function_exists('stats_get_csv')) {
$args = array('days' => -1, 'limit' => -1, 'post_id' => $post_id);
$result = stats_get_csv('postviews', $args);
$views = intval($result[0]['views']);
} else {
$views = 0;
}

wp_cache_set($cache_key, $views, 'post_views', 300);
}

return $views;
}
часть моей функции экспорта:

Код: Выделить всё

foreach ($results as $post) {

$views = wp_cache_get('post_views_'.$post->ID);
if ($views === false) {
$views = get_page_views($post->ID);
error_log('Visitas obtenidas de la forma original para el post_id: '.$post->ID.', visitas: '.$views);
} else {
error_log('Visitas obtenidas de la caché para el post_id: '.$post->ID.', visitas: '.$views);
}

fputcsv($output, array(
$post->ID,
$post->post_title,
get_the_author_meta('display_name', $post->post_author),
implode(', ', wp_get_post_categories($post->ID, ['fields' => 'names'])),
$views,
$post->post_date,
));

ob_flush();
flush();
}
Что я уже пробовал и не помогло:
Я пытался выполнить прямой SQL-запрос, чтобы получить просмотры сообщений, вместо вызова stats_get_csv для каждого. Но это не сработало, поскольку извлекает разные представления, а не одни и те же.
Я подумал об использовании переходных процессов для кэширования результатов stats_get_csv и избежания повторных вызовов во время экспорта. . Но нет, это не улучшило ситуацию.
Я попытался получить все данные одновременно, чтобы избежать повторных запросов. Но у меня есть тайм-аут, прежде чем я смогу экспортировать. Облом.
Честно говоря, не знаю, что еще попробовать. Я чувствую себя мемом о парне, смотрящем на лист бумаги со страдающим лицом.
Если у кого-то есть идеи или опыт работы с этой функцией и он может мне помочь, я будьте вечно благодарны. Мне нужно решить эту проблему, иначе мой плагин будет чертовски медленным.

Подробнее здесь: https://stackoverflow.com/questions/784 ... -my-plugin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»