Недавно один из наших читателей спросил, возможно ли просматривать и управлять системой задач cron из консоли WordPress. Cron — это технология для запуска задач по расписанию на сервере. В WordPress есть встроенный cron, который позволяет выполнять задачи по расписанию, такие как проверка обновлений, публикация запланированных записей и т.д. В этой статье мы покажем вам как просматривать задачи cron и управлять ими в WordPress.
Что такое WordPress Cron? Как он работает?
Cron — это технический термин, который используется для запуска команд в заданное время или через определенные интервалы. Большинство веб-серверов используют его для обслуживания и запуска запланированных задач.
В WordPress есть собственная система cron, которая позволяет ему выполнять регулярные задачи. Например, проверка обновлений, удаление старых комментариев из корзины и т.п.
Плагины также могут использовать cron для указанных вами задач.
Например, ваш плагин бекапа может использовать WordPress cron для автоматического создания резервных копий в указанное время.
Нерациональное использование WordPress cron плагинами может замедлить ваш сайт, особенно, не на выделенном сервере.
Если плагин очень часто выполняет ресурсоемкие задачи, то нужно разбираться в проблеме и исправлять её.
Давайте же посмотрим как можно просматривать и управлять системой WordPress cron.
Просмотр и управление системой WordPress Cron
Первым делом вам потребуется установить и активировать плагин WP Control.
После активации переходим на страницу Инструменты » Cron Events для настройки.
Вы увидите список всех событий cron, назначенных на выполнение на сайте в системе WordPress cron.
В первом столбце указано название хука, запускающего планировщик.
Как правило, названия хуков дадут вам подсказку о том, что именно выполняет конкретное событие.
Большинство стандартных хуков WordPress начинаются с префикса wp_, как например wp_update_plugins, wp_update_themes и т.п.
Ваши плагины могут использовать свои собственные префиксы для хуков. Например, yoast seo использует wpseo_ prefix.
Также вы увидите, когда задача запустится в следующий раз, а также интервалы между запусками.
В последнем столбце вы можете удалять, редактировать и запускать события cron.
Важно: Будьте осторожны при работе с событиями, и никогда не удаляйте стандартные события WordPress.
Теперь давайте представим, что вы видите событие, созданное плагином WordPress, которое потребляет много ресурсов.
Для начала вам нужно проверить настройки плагина на предмет настройки, которую можно отключить при необходимости. Если таковой не окажется, тогда нажимаем на ссылку ‘Edit’ рядом с событием cron для его изменения.
Нажав на кнопку Edit, вы увидите вкладку ‘Modify cron event’.
Здесь можно изменить частоту выполнения события.
По окончанию настройки нажмите на кнопку сохранения изменений.
Добавляем свои собственные события в Cron в WordPress
Плагин WP Control позволяет легко добавлять свои собственные задачи в крон WordPress. Для этого переходим на страницу Инструменты » Cron Events и прокручиваем до вкладки ‘Add Cron Event’.
Первым делом вам потребуется указать название хука для события. В названии не должно быть пробелов или спецсимволов.
Если функция, которую вы хотите выполнить, требует наличия параметров, то нужно их указать.
Далее, указываем время запуска задачи. Можно ввести ‘now’, и при этом cron сработает моментально, или же ‘tomorrow’, ‘+2 days’, или ’25-02-2020 12:34:00?.
И, наконец, нужно выбрать расписание: ежечасное выполнение, дважды в день, ежедневно, или один раз в неделю. Можно создавать не повторяющиеся события.
По окончанию нажмите на кнопку Add Cron Event для сохранения изменений.
Вы заметите, что созданное событие появится в общем списке. Однако, оно не будет делать ничего, потому как вы не сообщили WordPress о том, что именно нужно делать.
Вам понадобится добавить свой хук и функцию, которая будет выполнять при выполнении задачи.
if ( ! wp_next_scheduled( 'wpb_custom_cron' ) ) { wp_schedule_event( time(), 'hourly', 'my_task_hook' ); } add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' ); function wpb_custom_cron_func() { wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron'); }
Не забудьте указать свой email адрес.
Эта функция просто отправит тестовое письмо при выполнении задачи по крону. Можно прокрутить страницу вверх и нажать на ссылку ‘Run Now’ рядом с событием, чтобы его протестировать.
Примечание: Использование cron предполагает навыки среднего уровня в программировании, а также в разработке WordPress. Такая рекомендация указана с целью того, чтобы вы сумели самостоятельно написать нужную функцию, которая будет выполняться при срабатывании триггера планировщика крона.
Вот и все, мы надеемся, что эта статья помогла вам научиться просматривать и контролировать задачи в WordPress cron.
WP Crontrol
Current Version: 1.15.1
Last Updated: 29.12.2022
wp-crontrol.1.15.1.zip
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.