Как проверить wp_cron?

28

Это глупый вопрос ...

Я запланировал действие для запуска каждый час:

if(!wp_next_scheduled('my_hourly_events'))
  wp_schedule_event(time(), 'hourly', 'my_hourly_events');

add_action('my_hourly_events', 'the_function_to_run');

function the_function_to_run(){
   echo 'it works!'; 
}

Как я могу проверить, работает ли это, не дожидаясь часа? :)

Я пытался добавить wp_clear_scheduled_hook('my_hourly_events');до этого кода и добавить wp_cron()после, но я не вижу, чтобы моя функция работала ...

редактировать:

хорошо, я добавил trigger_error()изнутри свою функцию, проверил журнал ошибок apache, и он там есть :)

Так что теперь я еще больше запутался:

  • Как работает wp-cron в фоновом режиме? потому что, видимо, это то, что происходит, если я не вижу выхода ...

  • похоже, это не работает в объектном контексте; Зачем?

onetrickpony
источник
хорошо, я узнал, что wp-cron.php выполняется с wp_remote_post(). это все объясняет ...
onetrickpony
Под "контекстом объекта" вы имеете в виду ваш обратный вызов array( &$this, 'my_method_name' )? Это действительно не будет работать, потому что имя функции хранится в базе данных для последующего выполнения. &$thisссылается на конкретный объект, а не на имя класса, и этот объект не будет существовать при следующем запросе при выполнении задания cron. Функция статического класса должна работать.
Ян Фабри
да, я должен был сделать свою функцию статичной. Я не думал, что wp будет удаленно запускать локальный скрипт под именем "cron"
onetrickpony

Ответы:

20

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

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

Rarst
источник
HTTP Access Logger регистрирует все запросы или только те, которые сделаны с помощью HTTP API WP? Это отлично подходит для поиска запросов, которые делают плагины и почему ваша страница загружается медленно :)
onetrickpony
@ Один Trick Pony не уверен, но было бы разумно предположить, что это только API
Rarst