Это глупый вопрос ...
Я запланировал действие для запуска каждый час:
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 в фоновом режиме? потому что, видимо, это то, что происходит, если я не вижу выхода ...
похоже, это не работает в объектном контексте; Зачем?
wp_remote_post()
. это все объясняет ...array( &$this, 'my_method_name' )
? Это действительно не будет работать, потому что имя функции хранится в базе данных для последующего выполнения.&$this
ссылается на конкретный объект, а не на имя класса, и этот объект не будет существовать при следующем запросе при выполнении задания cron. Функция статического класса должна работать.Ответы:
Мой любимый плагин для этого - Core Control, который имеет очень хороший модуль для отображения того, что происходит в cron - какие события настраиваются, когда они запускаются в следующий раз и т. Д.
Получив уровень грязных рук, посмотрите
_get_cron_array()
, который возвращает внутренние сохраненные данные для событий cron (верхний уровень ключей - метки времени).источник