WP_Cron скрипт не обновляет все сообщения в цикле

У меня была проблема с этим скриптом в течение месяца, теперь http://pastebin.com/f6LqgqQS . Предполагается, что сценарий должен выполнять все мои сообщения, вытаскивать счетчик графа с графика facebook и обновлять метатет сообщения.

Теперь вопрос, который у меня был так долго, заключается в том, что не все мои сообщения были обновлены . Он работал нормально, когда у меня было 5 сообщений или около того, но как только я достиг 60+, старые сообщения остались незатронутыми. Некоторое время они обновлялись, но это может занять до 4 дней, хотя wp_cron установлен на часовую (и я знаю, что для запуска нужно, чтобы посетители запускались).

Теперь я всегда думал, что графический api был виновником, и что facebook ограничил мое количество запросов, но после некоторого тестирования с запуском скрипта вместо init, кажется, что проблема wp_cron вызывает эту проблему. Я даже отключил wp_cron сейчас, и я запускаю его из Cpanel с помощью cronjob, и до сих пор он отлично работал.

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

Solutions Collecting From Web of "WP_Cron скрипт не обновляет все сообщения в цикле"

Процесс wp-cron выполняется как веб-запрос. Процессы PHP, запущенные из Интернета, как правило, имеют ограничение на время выполнения, например, 60 секунд или около того. Процессы, выполняемые как процесс командной строки (например, из реального cron), не имеют такого предела.

Поэтому проблема заключается в том, что сценарий занимает слишком много времени, чтобы запускаться и убиваться. Для этого нет никаких оснований, wp-cron не предназначен для выполнения длинных пользовательских сценариев.

И если вы продолжаете сталкиваться с графическим API facebook 60 раз в час, они в конечном итоге заблокируют вас. Масштабируйте его, вы должны получать эту информацию один раз в день, самое большее.

Еще лучше напишите сценарий, чтобы он обновлял информацию только для этих сообщений, когда они были фактически доступны в последний день или около того, и просто использует кэшированную информацию в остальное время.