Intereting Posts
Сила вошла в систему, чтобы заполнить имя / адрес для комментариев? Пропуск первых 3 сообщений в запросе wp page single conditional Проверьте пароль пользователя Проверьте, успешно ли получен фид Как я могу разработать плагин, который генерирует страницу динамически Как изменить порядок пользовательских таксономий в правой части страницы редактирования пользовательских сообщений? Добавить пользовательское поле в категорию Используемый зарезервированный термин для пользовательской таксономии, теперь перенаправление страниц верхнего уровня Не удается увидеть выпадающий ярлык на панели управления сайтом в сети WordPress, почему? Добавление диапазона, когда пользовательский тип сообщения обновляется Loop Problem: отображает тот же набор сообщений для всех категорий Как обрабатывать фоновый размер: обложка в WordPress? Уточнение фильтров и крючков Не удается обновить WordPress 4.0

Как отлаживать WordPress «Cron» wp_schedule_event

Как я могу отлаживать проблемы с WordPress Cron? Я думаю, что это произойдет, когда пользователи перейдут на ваш сайт, но любые ошибки не будут показаны им, так как задания выполняются «асинхронно». Итак, как я могу отлаживать ошибки?

Я использую wp schedule event

Solutions Collecting From Web of "Как отлаживать WordPress «Cron» wp_schedule_event"

Вы можете запустить WP cron вручную, вызвав: http://example.com/wp-cron.php?doing_wp_cron

Если вы не хотите, чтобы автоматический cron запускался во время отладки, добавьте его в файл /wp-config.php :

 define('DISABLE_WP_CRON', true); 

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

Кроме того, вы можете использовать встроенную функцию error_log PHP для записи строк сообщений в журнал ошибок для отладки. Вы должны использовать это в сочетании с настройками WP_DEBUG , как упоминалось Rarst.

Вы можете использовать плагин Cron-View . Там вы можете узнать, зарегистрирована ли ваша работа: a) зарегистрирована и b) какова будет следующая продолжительность.

Кроме того, вы можете добавить более низкий таймер расписания к вашему событию (например, каждые 2 минуты) и чаще тестировать свой метод в локальной системе. Используйте крючок фильтра cron_schedules для регистрации новых расписаний. Например:

function my_additional_schedules($schedules) { // interval in seconds $schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes'); return $schedules; } add_filter('cron_schedules', 'my_additional_schedules');
function my_additional_schedules($schedules) { // interval in seconds $schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes'); return $schedules; } add_filter('cron_schedules', 'my_additional_schedules'); 

Вы можете (и, вероятно, в любом случае, cron или нет) настроить протокол ошибок PHP, чтобы зафиксировать все ошибки.

Вы можете отлаживать вручную, создавая действие и выполняя действие Cron внутри. Как это:

 add_action( 'init', function() { if ( ! isset( $_GET['the_cron_test'] ) ) { return; } error_reporting( 1 ); do_action( 'this_is_cron_event_hook' ); die(); } ); 

И перейдя на адрес вашего веб-сайта: http://example.com?the_cron_test

Это должно показать вам любые ошибки с задачей cron.

Но это не имеет никакого смысла делать это вручную. Вы можете использовать плагин Advanced Cron Manager PRO, который делает это для вас, а также сохраняет журнал и другую статистику.