Как сделать ежедневный cron для обновления просмотров страниц тысяч страниц из Google Analytics

Я хотел бы знать, каков наилучший способ сделать ежедневный хрон для обновления просмотров страниц каждой страницы веб-сайта без превышения ограничений API. На сайте тысячи уникальных страниц.

Я использую PHP и API Google Analytics и делаю цикл для всех пользователей и обновляю просмотры страниц, но этот путь слишком медленный и превысит лимит дневной котировки.

Несколько советов по улучшению?

$analytics = initializeAnalytics();
$profile = getFirstProfileId($analytics);

$update = $db->prepare('UPDATE users SET user_views=? WHERE user_id=?');
foreach($db->query('SELECT * FROM user') as $user){
$result = $analytics->data_ga->get('ga:' . $profile, '2016-01-01', 'today', 'ga:pageViews', array('filters' => 'ga:pagePath=@/' . $user['user_subdomain']));

$views = $result[0][0] > 0 ? $result[0][0] : 0;
$update->execute(array($views, $user['user_id']));
}

0

Решение

Вы можете пропустить разделение запроса на фильтр пути страницы пользователя, но используйте один запрос, чтобы получить все просмотры страниц для всех путей страниц. API отчетов v4 позволяет извлекать до 100 000 строк одним ответом. Таким образом, у вас может быть один запрос на выбор просмотров страниц по пути к странице, а затем цикл по объекту ответа, чтобы найти строку, содержащую данные для отдельного пользователя.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]