Почему я получаю предупреждение о тайм-ауте?

8

Я включил режим отладки в WordPress и первый запрос дня я получаю эту ошибку:

Предупреждение: http_request () [function.http-request]: истекло время ожидания; Тайм-аут операции после 1000 миллисекунд с получением 0 байтов (/wp-cron.php?doing_wp_cron) в /public/wp-includes/class-http.php в строке 1218

Я знаю, что такое задания cron, и понимаю, как WordPress может захотеть запускать периодические задания (а поскольку HTTP не имеет состояния, выполнение задания «cron» по первому запросу дня имеет смысл), но почему оно истекает?

tooshel
источник
Моим первым предположением было бы проверить, что wp-cron.php находится на вашем сервере. Каждый раз, когда я загружаю WordPress, он
теряет
Где вы хостинг? Иногда хосты отключают обратные вызовы HTTP.
MikeSchinkel
Похоже, что wp-cron.php находится в корне, и я бы не сказал, кто такой хост! Я посмотрю хотя бы часто задаваемые вопросы и посмотрю, есть ли там что-нибудь о обратных вызовах HTTP.
Тошель
В ответе на часто задаваемые вопросы о обратных вызовах HTTP (или wp-cron.php) не было ничего, кроме информации о том, как они не поддерживают задания cron (вот почему что-то подобное существует в PHP, верно?)
tooshel

Ответы:

8

Это ошибка: http://core.trac.wordpress.org/ticket/11831


источник
Много обсуждений по этой ссылке, но она описывает проблему. Спасибо!
Тошель
Я просто столкнулся с этой же проблемой и нашел ваш ответ. Спасибо! @holizz.
MikeSchinkel
Для меня это помогает повторить запрос, нажав кнопку обновления. Время от времени я получаю сообщение об ошибке только в моей среде разработки.
2010 г.
@hakre: После запроса wp-cron он не запрашивается снова в течение определенного периода времени. Поэтому, когда вы видите предупреждение, вы не увидите его снова на короткое время. Кроме того, запрос часто успешно выполняется и, следовательно, не вызывает предупреждение. Эти два фактора объединяются, чтобы это происходило только время от времени.