Cron – это система, позволяющая организовать выполнение задач на сервере по заранее установленному расписанию. В WordPress имеется интегрированная функция, которая позволяет автоматически выполнять работы, например, проверку новых обновлений, публикацию заранее запланированных записей и так далее. Пользователи могут просматривать и управлять расписанием через панель администратора. Но сначала стоит разобраться с самой технологией.
Для работы с Cron в WordPress используется псевдо-крон, который срабатывает на основе HTTP-запросов. Это означает, что задачи выполняются, когда на сайт поступает запрос, что может происходить не так часто, как хотелось бы. Важно помнить, что если на сайт не заходят в течение длительного времени, запланированные задачи могут не выполняться.
Чтобы просматривать и управлять Cron-задачами, можно использовать различные плагины, например, WP Crontrol. Этот плагин позволяет видеть все запланированные события, изменять их расписание, а также удалять ненужные задачи. Также можно добавлять свои собственные задачи, если это необходимо для специфических функций вашего сайта.
В административной панели WordPress штатно нет комфортного интерфейса для работы с Cron-задачами, поэтому такие плагины значительно упрощают управление. Применение таких инструментов позволяет более гибко настраивать работу вашего сайта и избегать возможных проблем с выполнением задач.
Наконец, стоит обратить внимание на оптимизацию работы с Cron. Например, можно использовать хостинг, который поддерживает системные Cron-задачи, вместо полагания на псевдо-крон WordPress. Это может улучшить производительность и надежность выполнения задач.
Что такое Cron?
Cron — это специализированный термин, описывающий процесс запуска команд в месте и временных интервалах, которые задаются заранее. К примеру, такие команды могут включать удаление устаревших комментариев или создание резервных копий, а также другие задачи по обслуживанию сайта на WordPress.
С помощью Cron пользователи могут автоматизировать рутинные задачи, что значительно упрощает администрирование серверов и приложений. Каждая команда, которая запускается с помощью Cron, называется «задачей Cron» или «cron job». Эти задачи могут быть настроены для выполнения по расписанию (например, ежедневно, еженедельно или каждый час) с использованием специального формата, называемого «таблицей Cron».
Для настройки задач Cron необходимо редактировать файл crontab, в котором задаются параметры выполнения: время, частота и выполняемая команда. Cron является стандартным инструментом на большинстве Unix-подобных систем, включая Linux и macOS.
Помимо управления задачами, Cron также может использоваться для мониторинга серверов, обновления баз данных, отправки уведомлений и выполнения различных скриптов. Это делает его незаменимым инструментом для системных администраторов и разработчиков, которые стремятся оптимизировать рабочие процессы.
Просмотр и управление системой WordPress Cron
Платформа не предоставляет удобных средств для управления расписанием задач. Поэтому для решения этой проблемы рекомендуем установить плагин WP Control.
Плагин WP Control
Сначала необходимо установить и активировать данный плагин. После этого в административной панели перейдите в раздел Инструменты -> Cron Events.

На открывшейся странице вы увидите перечень всех Cron-событий, запланированных для выполнения на вашем сайте. В первом столбце таблицы указаны названия хуков, которые запускают планировщик. По этим именам можно понять, что именно делают те или иные события. Заметим, что большинство хуков в WordPress начинаются со знака “wp_”, например, wp_version_check и wp_scheduled_auto_draft_delete. Темы и плагины могут иметь свои собственные префиксы, как, например, woocommerce_scheduled_sales или woocommerce_geoip_updater. В столбце Next Run вы найдете информацию о дате, времени и интервалах следующего запуска задачи. Последний столбец позволяет редактировать, запускать или удалять задачи из расписания.
Важно помнить, что с системными событиями WordPress нужно быть предельно осторожными, поскольку их изменения могут негативно сказаться на работоспособности сайта.
Редактирование расписания заданий
Если вы нажмете на кнопку Edit рядом с любым заданием, перед вами появится вкладка Modify Cron Event.

Здесь вы сможете изменить периодичность выполнения задачи. Чтобы сохранить изменения, нажмите кнопку Modify Cron Event.
Добавление нового события
Плагин, помимо редактирования, также дает возможность добавить новое событие. Для этого перейдите на вкладку Add Cron Event.

В первую очередь, укажите название хуку для создаваемого события (поле Hook Name). Обратите внимание, что название не должно содержать специальных символов или пробелов. Если создаваемая функция имеет параметры, их следует указать в поле Arguments (optional). Затем укажите время запуска задачи (Next Run) и выберите расписание выполнения (Recurrence). Доступные варианты: каждый час, дважды в день, ежедневно, еженедельно и другие. Для сохранения настроек необходимо нажать кнопку Add Cron Event, и событие будет добавлено в список. Однако оно не будет функционировать до тех пор, пока не будет задана соответствующая функция в файле functions.php.
if ( ! wp_next_scheduled( 'site_custom_cron' ) ) wp_schedule_event( time(), 'hourly', 'my_task_hook' ); add_action( 'site_custom_cron', 'site_custom_cron_func' ); function site_custom_cron_func()
В примере функция отправляет простое сообщение на указанный адрес.
Не забудьте, что правильная настройка Cron может существенно повлиять на производительность вашего сайта. Периодические задачи могут накапливаться и вызывать замедление работы сервера, поэтому рекомендуется регулярно проверять и очищать таблицу заданий. Рекомендуется также проводить аудит установленных плагинов и тем, чтобы избежать ненужных задач, добавляемых сторонними расширениями.