Справочник CLI
Все операции Queuety по умолчанию доступны через WP-CLI в пространстве имен wp queuety.
Задайте QUEUETY_CLI_COMMAND до запуска Queuety, если хотите опубликовать то же дерево команд с другим корнем, например wp themequeue.
Для тестовых оболочек агентов и других интеграций виртуального bash используйте эту страницу как справочник для людей, а мост PHP — как машинный контракт:
Queuety::cli_command_map()предоставляет сериализуемый каталог командQueuety::resolve_cli_command( $path, $args, $assoc_args )преобразует разобранный вводwp queuety ...в нормализованный план выполнения, отдающий предпочтение прямым вызываемым объектам PHP
В этом дереве для конечных автоматов нет команд; изучайте их через PHP API, описанные в разделе Конечные автоматы.
Команды заданий
wp queuety work
Запустить обработчик, который выполняет задания.
wp queuety work [--queue=<queue>] [--once] [--workers=<n>]
wp queuety work [--queue=<queue>] [--min-workers=<n>] --max-workers=<n>
| Параметр | Описание |
|---|---|
--queue=<queue> |
Queue(s) для обработки; значения разделяются запятыми и задают порядок приоритета (по умолчанию: default) |
--once |
Обработать не более одного задания и завершить работу (также сразу завершиться, если нет доступных для получения заданий) |
--workers=<n> |
Создать N процессов обработчика (требуются расширения pcntl и posix, как и для --min-workers и --max-workers) |
--min-workers=<n> |
Минимальное число обработчиков для адаптивного пула. Требуется --max-workers |
--max-workers=<n> |
Максимальное число обработчиков для адаптивного пула |
# Single worker on default queue
wp queuety work
# Process a specific queue
wp queuety work --queue=emails
# Process multiple queues in priority order
wp queuety work --queue=critical,default,low
# One-shot mode
wp queuety work --once
# Multi-worker mode
wp queuety work --workers=4
# Adaptive worker pool
wp queuety work --queue=providers --min-workers=2 --max-workers=6
Если указано несколько очередей, обработчик пытается получить задание из каждой в заданном порядке. Приоритет получает первая очередь с доступным заданием. --workers оставляет размер пула неизменным. --min-workers и --max-workers включают адаптивное масштабирование для тех же команд. Стратегии развертывания см. в разделе Обработчики, а описание модели допуска для адаптивных пулов — в разделе Управление ресурсами.
wp queuety flush
Обработать все ожидающие задания и завершить работу.
wp queuety flush [--queue=<queue>]
| Параметр | Описание |
|---|---|
--queue=<queue> |
Queue(s) для очистки; значения разделяются запятыми и задают порядок приоритета (по умолчанию: default) |
# Flush a single queue
wp queuety flush --queue=emails
# Flush multiple queues in priority order
wp queuety flush --queue=critical,default,low
wp queuety dispatch
Отправить задание из командной строки.
wp queuety dispatch <handler> [--payload=<json>] [--queue=<queue>] [--priority=<priority>] [--delay=<seconds>]
| Параметр | Описание |
|---|---|
<handler> |
Имя обработчика или класса (обязательный параметр) |
--payload=<json> |
Данные JSON (по умолчанию: {}) |
--queue=<queue> |
Имя очереди (по умолчанию: default) |
--priority=<priority> |
Уровень приоритета 0-3 (по умолчанию: 0) |
--delay=<seconds> |
Задержка в секундах (по умолчанию: 0) |
wp queuety dispatch send_email --payload='{"to":"user@example.com"}' --queue=emails
wp queuety status
Показать статистику очередей.
wp queuety status [--queue=<queue>]
| Параметр | Описание |
|---|---|
--queue=<queue> |
Фильтр по имени очереди |
wp queuety list
Список заданий.
wp queuety list [--queue=<queue>] [--status=<status>] [--format=<format>]
| Параметр | Описание |
|---|---|
--queue=<queue> |
Фильтр по очереди |
--status=<status> |
Фильтр по статусу (pending, processing, completed, failed, buried) |
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
wp queuety inspect
Показать полные сведения о задании, включая данные и историю журнала.
wp queuety inspect <id>
| Параметр | Описание |
|---|---|
<id> |
ID задания (обязательный параметр) |
wp queuety retry
Повторно запустить определенное задание.
wp queuety retry <id>
| Параметр | Описание |
|---|---|
<id> |
ID задания для повторного запуска (обязательный параметр) |
wp queuety retry-buried
Повторно запустить все задания, помещенные в архив.
wp queuety retry-buried
wp queuety bury
Вручную поместить задание в архив.
wp queuety bury <id>
| Параметр | Описание |
|---|---|
<id> |
ID задания для помещения в архив (обязательный параметр) |
wp queuety delete
Удалить задание.
wp queuety delete <id>
| Параметр | Описание |
|---|---|
<id> |
ID задания для удаления (обязательный параметр) |
wp queuety recover
Восстановить устаревшие задания, застрявшие в статусе processing.
wp queuety recover
wp queuety purge
Удалить выполненные задания.
wp queuety purge [--older-than=<days>]
| Параметр | Описание |
|---|---|
--older-than=<days> |
Удалить задания старше N дней (по умолчанию: QUEUETY_RETENTION_DAYS) |
wp queuety pause
Приостановить очередь, чтобы рабочие процессы её пропускали.
wp queuety pause <queue>
| Параметр | Описание |
|---|---|
<queue> |
Имя очереди, которую нужно приостановить (обязательный параметр) |
wp queuety resume
Возобновить приостановленную очередь.
wp queuety resume <queue>
| Параметр | Описание |
|---|---|
<queue> |
Имя очереди, работу которой нужно возобновить (обязательный параметр) |
wp queuety metrics
Показать метрики по каждому обработчику.
wp queuety metrics [--minutes=<minutes>] [--format=<format>]
| Параметр | Описание |
|---|---|
--minutes=<minutes> |
Временное окно в минутах (по умолчанию: 60) |
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
wp queuety discover
Обнаруживает классы обработчиков в каталоге.
wp queuety discover <directory> <namespace> [--register]
| Параметр | Описание |
|---|---|
<directory> |
Каталог для поиска классов обработчиков (обязательно) |
<namespace> |
Префикс пространства имен PSR-4 для каталога (обязательно) |
--register |
Фактически зарегистрировать обнаруженные обработчики |
Команды рабочих процессов
wp queuety workflow status
Показывает состояние и ход выполнения рабочего процесса.
wp queuety workflow status <id>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
status выводит текущий шаг, необязательное имя шага, метаданные версии/хеша, режим ожидания, сводку артефактов и блок WaitInfo JSON, если рабочий процесс в данный момент заблокирован сигналами или зависимостями.
wp queuety workflow list
Выводит список рабочих процессов.
wp queuety workflow list [--status=<status>] [--format=<format>]
| Параметр | Описание |
|---|---|
--status=<status> |
Фильтр по статусу: running, completed, failed, paused, waiting_for_signal, waiting_for_workflows, cancelled |
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
Команда возвращает не более 50 рабочих процессов. Она считывает значение --limit, но WP-CLI сейчас отклоняет этот флаг, поскольку команда его не объявляет (#12); чтобы задать другое ограничение, используйте Queuety::list_workflows().
В таблицу по умолчанию включены StepName и WaitMode, чтобы заблокированные рабочие процессы было проще просматривать.
wp queuety workflow retry
Повторно запускает рабочий процесс с ошибкой с шага, на котором произошел сбой.
wp queuety workflow retry <id>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
wp queuety workflow approve
Отправляет рабочему процессу сигнал подтверждения.
wp queuety workflow approve <id> [--data=<json>] [--signal=<name>]
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
--data=<json> |
Необязательная полезная нагрузка объекта JSON |
--signal=<name> |
Переопределяет имя сигнала подтверждения (по умолчанию: approval, совпадающее с wait_for_approval(); шаг wait_for_decision() по умолчанию ожидает approved, поэтому передайте туда --signal=approved) |
wp queuety workflow reject
Отправляет рабочему процессу сигнал отклонения.
wp queuety workflow reject <id> [--data=<json>] [--signal=<name>]
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
--data=<json> |
Необязательная полезная нагрузка объекта JSON |
--signal=<name> |
Переопределяет имя сигнала отклонения (по умолчанию: rejected) |
wp queuety workflow input
Отправляет структурированные входные данные рабочему процессу.
wp queuety workflow input <id> [--data=<json>] [--signal=<name>]
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
--data=<json> |
Необязательная полезная нагрузка объекта JSON |
--signal=<name> |
Переопределяет имя входного сигнала (по умолчанию: input) |
wp queuety workflow artifacts
Выводит список сохраненных артефактов рабочего процесса.
wp queuety workflow artifacts <id> [--format=<format>] [--with-content]
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
--format=<format> |
Формат вывода: table (по умолчанию) или json |
--with-content |
Включить содержимое артефакта в вывод |
wp queuety workflow artifact
Показывает один сохраненный артефакт рабочего процесса.
wp queuety workflow artifact <id> <key>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
<key> |
Ключ артефакта (обязательно) |
wp queuety workflow pause
Приостанавливает выполняющийся рабочий процесс.
wp queuety workflow pause <id>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
wp queuety workflow resume
Возобновляет приостановленный рабочий процесс.
wp queuety workflow resume <id>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
wp queuety workflow cancel
Отменяет рабочий процесс, который еще не находится в состоянии completed или cancelled. В рамках одной транзакции Queuety задает статус cancelled, перемещает ожидающие и выполняющиеся задания рабочего процесса в архив и записывает workflow_cancelled; затем запускает компенсационные действия и зарегистрированный обработчик очистки.
wp queuety workflow cancel <id>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса для отмены (обязательно) |
wp queuety workflow cancel 42
wp queuety workflow timeline
Показывает хронологию событий рабочего процесса. Отображает все события шагов (запущен, завершен, завершился с ошибкой) с временными метками, обработчиками и длительностью.
wp queuety workflow timeline <id> [--limit=<limit>] [--offset=<offset>] [--format=<format>]
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
--limit=<limit> |
Максимальное число возвращаемых событий (по умолчанию: 100) |
--offset=<offset> |
Число пропускаемых предыдущих событий (по умолчанию: 0) |
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
wp queuety workflow timeline 42
Столбцы вывода: ID, Step, Event, Handler, Duration_ms, Error, Created_at.
wp queuety workflow state-at
Показывает публичное состояние рабочего процесса после завершения или возобновления определенного шага.
wp queuety workflow state-at <id> <step>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
<step> |
Индекс шага, начиная с 0 (обязательно) |
wp queuety workflow state-at 42 0
Подробнее о записываемых данных и сценариях использования см. в разделе Журнал событий рабочего процесса.
wp queuety workflow rewind
Возвращает рабочий процесс к предыдущему шагу и продолжает выполнение со следующего за ним шага. Состояние восстанавливается из журнала событий state_after для указанного шага, а следующий шаг (<step> + 1) ставится в очередь; сам указанный шаг повторно не запускается.
wp queuety workflow rewind <id> <step>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
<step> |
Индекс шага, к которому нужно вернуться, начиная с 0 (обязательно) |
wp queuety workflow rewind 42 1
Подробнее см. в разделе Путешествие во времени.
wp queuety workflow fork
Создает независимую копию выполняющегося рабочего процесса в его текущем состоянии. Копия получает новый ID и выполняется независимо.
wp queuety workflow fork <id>
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса для создания копии (обязательно) |
wp queuety workflow fork 42
# Success: Workflow #42 forked. New workflow ID: 43.
Подробнее см. в разделе Создание копий.
wp queuety workflow export
Экспортирует полную историю выполнения рабочего процесса в JSON. Включает строку рабочего процесса, задания, события рабочего процесса, записи журнала, сохраненные сигналы и ожидания зависимостей рабочего процесса.
wp queuety workflow export <id> [--output=<file>]
| Параметр | Описание |
|---|---|
<id> |
ID рабочего процесса (обязательно) |
--output=<file> |
Путь к файлу для записи JSON. По умолчанию — стандартный вывод. |
# Print to stdout
wp queuety workflow export 42
# Write to a file
wp queuety workflow export 42 --output=/tmp/workflow-42.json
Подробнее о структуре JSON см. в разделе Экспорт и воспроизведение.
wp queuety workflow replay
Воспроизводит экспортированный рабочий процесс из файла JSON. Создает новый рабочий процесс с экспортированным состоянием, метаданными и исторической хронологией.
wp queuety workflow replay <file>
| Параметр | Описание |
|---|---|
<file> |
Путь к экспортированному файлу JSON (обязательно) |
wp queuety workflow replay /tmp/workflow-42.json
# Success: Workflow replayed. New workflow ID: 85.
Подробности см. в разделе Экспорт и повторное воспроизведение.
Команды расписания
wp queuety schedule list
Выводит список всех периодических расписаний.
wp queuety schedule list [--format=<format>]
| Параметр | Описание |
|---|---|
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
wp queuety schedule add
Добавляет периодическое расписание.
wp queuety schedule add <handler> [--every=<interval>] [--cron=<expression>] [--payload=<json>] [--queue=<queue>]
| Параметр | Описание |
|---|---|
<handler> |
Имя или класс обработчика (обязательно) |
--every=<interval> |
Выражение интервала (e.g. 1 hour, 30 minutes) |
--cron=<expression> |
Выражение Cron (e.g. 0 3 * * *) |
--payload=<json> |
Полезная нагрузка JSON (по умолчанию: {}) |
--queue=<queue> |
Имя очереди (по умолчанию: default) |
Необходимо указать либо --every, либо --cron.
wp queuety schedule add cleanup_handler --every="1 hour"
wp queuety schedule add nightly_report --cron="0 3 * * *" --queue=reports
wp queuety schedule remove
Удаляет расписание по имени обработчика.
wp queuety schedule remove <handler>
| Параметр | Описание |
|---|---|
<handler> |
Имя обработчика для удаления (обязательно) |
wp queuety schedule run
Запускает тактировщик вручную. Ставит в очередь задания для всех наступивших расписаний.
wp queuety schedule run
Команды журнала
wp queuety log
Запрашивает записи журнала.
wp queuety log [--job=<id>] [--workflow=<id>] [--handler=<name>] [--event=<event>] [--since=<datetime>] [--limit=<n>] [--format=<format>]
| Параметр | Описание |
|---|---|
--job=<id> |
Фильтр по ID задания |
--workflow=<id> |
Фильтр по ID рабочего процесса |
--handler=<name> |
Фильтр по имени обработчика |
--event=<event> |
Фильтр по типу события (started, completed, failed, buried, retried, workflow_started, workflow_completed, workflow_failed, workflow_paused, workflow_resumed, workflow_cancelled, workflow_rewound, workflow_forked, workflow_deadline_exceeded, debug) |
--since=<datetime> |
Показывать записи начиная с этой даты и времени |
--limit=<n> |
Максимальное число записей (по умолчанию: 50) |
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
Фильтры не объединяются: Queuety применяет первый заданный фильтр в порядке --job, --workflow, --handler, --event, --since. --job и --workflow возвращают все записи в порядке от старых к новым и игнорируют --limit. --handler и --event возвращают сначала самые новые записи. Без фильтра команда считывает записи за последние 24 часа; этот запрос и --since выводят записи в порядке от старых к новым, поэтому --limit оставляет самые старые записи в выбранном временном интервале.
# Logs from the last 24 hours (oldest first)
wp queuety log
# Logs for a job
wp queuety log --job=42
# Failed events
wp queuety log --event=failed --limit=100
# Logs since a specific time
wp queuety log --since="2025-03-01 00:00:00"
Очистка журналов
В LogCommand определена подкоманда purge (wp queuety log purge --older-than=<days>), но WP-CLI регистрирует wp queuety log как отдельную команду, поэтому подкоманда недоступна и завершается ошибкой «Too many positional arguments: purge» (#11). Вместо этого удаляйте старые записи журнала с помощью PHP:
wp eval 'echo Queuety\Queuety::purge_logs( 30 );'
Команды вебхуков
wp queuety webhook add
Регистрирует вебхук URL для события.
wp queuety webhook add <event> <url>
| Параметр | Описание |
|---|---|
<event> |
Имя события: job.completed, job.failed, job.buried или workflow.failed (обязательно) |
<url> |
URL, на который отправлять уведомления методом POST (обязательно) |
wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook list
Выводит список всех зарегистрированных вебхуков.
wp queuety webhook list [--format=<format>]
| Параметр | Описание |
|---|---|
--format=<format> |
Формат вывода: table (по умолчанию), json, csv, yaml |
wp queuety webhook remove
Удаляет вебхук по ID.
wp queuety webhook remove <id>
| Параметр | Описание |
|---|---|
<id> |
ID вебхука для удаления (обязательно) |