Перейти к содержимому

Справочник 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 вебхука для удаления (обязательно)