Команда wp cron
в WP-CLI предоставляет удобный способ управления событиями WP-Cron, включая их тестирование, запуск, планирование и удаление. Данная статья содержит подробное описание всех подкоманд wp cron
, их параметров и примеры использования.
Общий синтаксис команды
wp cron <subcommand> [options]
Основные подкоманды:
Команда | Описание |
---|---|
wp cron test | Тестирует работу системы WP-Cron. |
wp cron event list | Отображает список событий WP-Cron. |
wp cron event schedule | Планирует новое событие WP-Cron. |
wp cron event run | Запускает одно или несколько событий WP-Cron. |
wp cron event unschedule | Удаляет события WP-Cron по указанному хуку. |
wp cron event delete | Удаляет определенные события WP-Cron. |
wp cron schedule list | Отображает доступные временные интервалы для WP-Cron. |
1. Команда wp cron test
Тестирует, правильно ли работает система WP-Cron. Команда проверяет наличие констант DISABLE_WP_CRON
и ALTERNATE_WP_CRON
, а также выполняет HTTP-запрос для проверки работы.
Использование:
wp cron test
Примеры:
- Успешный тест:
$ wp cron test
Success: WP-Cron spawning is working as expected.
- Если
DISABLE_WP_CRON = true
$ wp cron test
Error: The DISABLE_WP_CRON constant is set to true. WP-Cron spawning is disabled.
2. Команда wp cron event list
Отображает запланированные события WP-Cron. Можно указать формат вывода и фильтры.
Использование:
wp cron event list [--fields=<fields>] [--<field>=<value>] [--field=<field>] [--format=<format>]
Параметры:
--fields
: Показывает только определенные поля (например,hook,next_run_gmt
).--<field>=<value>
: Фильтрует события по определенному значению поля.--field=<field>
: Выводит значение одного поля для каждого события.--format
: Указывает формат вывода (table
,json
,csv
, и др.).
Примеры:
- Список событий в формате таблицы
$ wp cron event list
+--------------------------+---------------------+--------------------+------------+
| hook | next_run_gmt | next_run_relative | recurrence |
+--------------------------+---------------------+--------------------+------------+
| update_plugins | 2024-11-17 18:00:00 | 2 hours | 12 hours |
| delete_expired_transients| 2024-11-17 23:00:00 | 7 hours | 1 day |
+--------------------------+---------------------+--------------------+------------+
- Вывод в JSON формате:
$ wp cron event list --fields=hook,next_run --format=json
[
{"hook":"update_plugins","next_run":"2024-11-17 18:00:00"},
{"hook":"delete_expired_transients","next_run":"2024-11-17 23:00:00"}
]
3. Команда wp cron event schedule
Планирует новое событие WP-Cron.
Использование:
wp cron event schedule <hook> [<next-run>] [<recurrence>] [--<field>=<value>]
Параметры:
<hook>
: Имя хука события.<next-run>
: Время следующего запуска (Unix timestamp или строка форматаstrtotime()
). По умолчанию:now
.<recurrence>
: Частота повторения (например,hourly
,daily
).--<field>=<value>
: Ассоциативные аргументы для события.
Примеры:
- Запланировать разовое событие
$ wp cron event schedule custom_hook
Success: Scheduled event with hook 'custom_hook' for 2024-11-17 12:00:00 GMT.
- Запланировать событие с повторением
$ wp cron event schedule custom_hook now hourly
Success: Scheduled event with hook 'custom_hook' for 2024-11-17 12:01:00 GMT.
4. Команда wp cron event run
Запускает одно или несколько событий WP-Cron вручную.
Использование:
wp cron event run [<hook>...] [--due-now] [--all]
Параметры:
<hook>
: Хук события для запуска.--due-now
: Запускает только те события, которые должны выполняться в данный момент.--all
: Запускает все события, независимо от времени их выполнения.
Примеры:
- Запуск текущих событий
$ wp cron event run --due-now
Success: Executed 2 cron events.
- Запуск всех событий
$ wp cron event run --all
Success: Executed 5 cron events.
5. Команда wp cron event unschedule
Удаляет все запланированные события для указанного хука.
Использование:
wp cron event unschedule <hook>
Параметры:
<hook>
: Имя хука, события которого нужно удалить.
Пример:
$ wp cron event unschedule custom_hook
Success: Unscheduled 1 event with hook 'custom_hook'.
6. Команда wp cron event delete
Удаляет конкретное событие WP-Cron.
Использование:
wp cron event delete <hook>
Параметры:
<hook>
: Имя хука события, которое нужно удалить.
Пример:
$ wp cron event delete custom_hook
Success: Deleted 2 instances of the cron event 'custom_hook'.
7. Команда wp cron schedule list
Отображает доступные временные интервалы WP-Cron.
Использование:
wp cron schedule list [--fields=<fields>] [--field=<field>] [--format=<format>]
Параметры:
--fields
: Отображает только определенные поля (name
,display
,interval
).--field
: Выводит значение одного поля.--format
: Формат вывода (table
,json
,csv
и др.).
Примеры:
- Вывод всех интервалов:
$ wp cron schedule list
+------------+-------------+----------+
| name | display | interval |
+------------+-------------+----------+
| hourly | Once Hourly | 3600 |
| daily | Once Daily | 86400 |
+------------+-------------+----------+
- Вывод имен интервалов в CSV:
$ wp cron schedule list --fields=name --format=csv
"hourly"
"daily"
Заключение
Команда wp cron
предоставляет мощный инструмент для управления WP-Cron в WordPress. Использование этих подкоманд позволит вам эффективно контролировать расписания задач, запускать их вручную или настраивать новые события.
Соблюдайте осторожность при запуске всех событий или удалении задач, чтобы избежать непреднамеренных последствий.