Як перевірити 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 може працювати у фоновому режимі? тому що, мабуть, це і станеться, якщо я не бачу виводу ...

  • це, здається, не працює в об'єктному контексті; чому?


ОК, я дізнався, що wp-cron.php виконується за допомогою wp_remote_post(). що пояснює все ...
onetrickpony

Під поняттям "об'єкт" ви маєте на увазі, як ваш зворотний дзвінок array( &$this, 'my_method_name' )? Це дійсно не буде працювати, оскільки ім'я функції зберігається в базі даних, яке буде виконано пізніше. &$thisпосилається на конкретний об'єкт, а не на ім'я класу, і цей об'єкт не буде існувати при наступному запиті, коли виконується завдання cron. Функція статичного класу повинна працювати.
Ян Фабрі

так, я повинен був зробити свою функцію статичною. Я не думав, що wp віддалено запустить локальний скрипт як "cron"
onetrickpony

Відповіді:


20

Мій улюблений плагін для цього - Core Control, який має дуже приємний модуль для відображення того, що відбувається в кроні - які події встановлюються, коли вони наступні стрілянини тощо.

Про забруднення рук див. Рівень _get_cron_array(), який повертає внутрішні збережені дані для подій cron (верхній рівень клавіш - часові позначки).


чи записує протокол протоколу HTTP доступу всі запити або лише запити, зроблені за допомогою HTTP-програми WP WP? Це відмінно підходить для пошуку запитів плагінів і чому ваша сторінка повільно завантажується :)
onetrickpony

@One Trick Pony не впевнений, але було б сенс припустити, що це лише API
Rarst
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.