CLI Reference
All Queuety operations are available through WP-CLI under the wp queuety namespace.
Job commands
wp queuety work
Start a worker that processes jobs.
wp queuety work [--queue=<queue>] [--once] [--workers=<n>]| Option | Description |
|---|---|
--queue=<queue> | Queue(s) to process, comma-separated for priority ordering (default: default) |
--once | Process one batch and exit |
--workers=<n> | Fork N worker processes (requires pcntl extension) |
# 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=4When multiple queues are specified, the worker tries to claim from each queue in the listed order. The first queue with an available job wins. See Workers for deployment strategies.
wp queuety flush
Process all pending jobs and exit.
wp queuety flush [--queue=<queue>]| Option | Description |
|---|---|
--queue=<queue> | Queue(s) to flush, comma-separated for priority ordering (default: default) |
# Flush a single queue
wp queuety flush --queue=emails
# Flush multiple queues in priority order
wp queuety flush --queue=critical,default,lowwp queuety dispatch
Dispatch a job from the command line.
wp queuety dispatch <handler> [--payload=<json>] [--queue=<queue>] [--priority=<priority>] [--delay=<seconds>]| Option | Description |
|---|---|
<handler> | Handler name or class (required) |
--payload=<json> | JSON payload (default: {}) |
--queue=<queue> | Queue name (default: default) |
--priority=<priority> | Priority level 0-3 (default: 0) |
--delay=<seconds> | Delay in seconds (default: 0) |
wp queuety dispatch send_email --payload='{"to":"user@example.com"}' --queue=emailswp queuety status
Show queue statistics.
wp queuety status [--queue=<queue>]| Option | Description |
|---|---|
--queue=<queue> | Filter by queue name |
wp queuety list
List jobs.
wp queuety list [--queue=<queue>] [--status=<status>] [--format=<format>]| Option | Description |
|---|---|
--queue=<queue> | Filter by queue |
--status=<status> | Filter by status (pending, processing, completed, failed, buried) |
--format=<format> | Output format: table (default), json, csv, yaml |
wp queuety inspect
Show full details of a job, including payload and log history.
wp queuety inspect <id>| Option | Description |
|---|---|
<id> | Job ID (required) |
wp queuety retry
Retry a specific job.
wp queuety retry <id>| Option | Description |
|---|---|
<id> | Job ID to retry (required) |
wp queuety retry-buried
Retry all buried jobs.
wp queuety retry-buriedwp queuety bury
Bury a job manually.
wp queuety bury <id>| Option | Description |
|---|---|
<id> | Job ID to bury (required) |
wp queuety delete
Delete a job.
wp queuety delete <id>| Option | Description |
|---|---|
<id> | Job ID to delete (required) |
wp queuety recover
Recover stale jobs that are stuck in processing status.
wp queuety recoverwp queuety purge
Purge completed jobs.
wp queuety purge [--older-than=<days>]| Option | Description |
|---|---|
--older-than=<days> | Delete jobs older than N days (default: QUEUETY_RETENTION_DAYS) |
wp queuety pause
Pause a queue so workers skip it.
wp queuety pause <queue>| Option | Description |
|---|---|
<queue> | Queue name to pause (required) |
wp queuety resume
Resume a paused queue.
wp queuety resume <queue>| Option | Description |
|---|---|
<queue> | Queue name to resume (required) |
wp queuety metrics
Show per-handler metrics.
wp queuety metrics [--minutes=<minutes>] [--format=<format>]| Option | Description |
|---|---|
--minutes=<minutes> | Time window in minutes (default: 60) |
--format=<format> | Output format: table (default), json, csv, yaml |
wp queuety discover
Discover handler classes in a directory.
wp queuety discover <directory> <namespace> [--register]| Option | Description |
|---|---|
<directory> | Directory to scan for handler classes (required) |
<namespace> | PSR-4 namespace prefix for the directory (required) |
--register | Actually register discovered handlers |
Workflow commands
wp queuety workflow status
Show workflow status and progress.
wp queuety workflow status <id>| Option | Description |
|---|---|
<id> | Workflow ID (required) |
wp queuety workflow list
List workflows.
wp queuety workflow list [--status=<status>] [--format=<format>]| Option | Description |
|---|---|
--status=<status> | Filter by status: running, completed, failed, paused, cancelled |
--format=<format> | Output format: table (default), json, csv, yaml |
wp queuety workflow retry
Retry a failed workflow from its failed step.
wp queuety workflow retry <id>| Option | Description |
|---|---|
<id> | Workflow ID (required) |
wp queuety workflow pause
Pause a running workflow.
wp queuety workflow pause <id>| Option | Description |
|---|---|
<id> | Workflow ID (required) |
wp queuety workflow resume
Resume a paused workflow.
wp queuety workflow resume <id>| Option | Description |
|---|---|
<id> | Workflow ID (required) |
wp queuety workflow cancel
Cancel a running or paused workflow. Runs any registered cleanup handler, sets the status to cancelled, and buries pending jobs.
wp queuety workflow cancel <id>| Option | Description |
|---|---|
<id> | Workflow ID to cancel (required) |
wp queuety workflow cancel 42wp queuety workflow timeline
Show the event timeline for a workflow. Displays all step events (started, completed, failed) with timestamps, handlers, and durations.
wp queuety workflow timeline <id> [--format=<format>]| Option | Description |
|---|---|
<id> | Workflow ID (required) |
--format=<format> | Output format: table (default), json, csv, yaml |
wp queuety workflow timeline 42Output columns: ID, Step, Event, Handler, Duration_ms, Error, Created_at.
wp queuety workflow state-at
Show the state snapshot at a specific workflow step. Displays the full workflow state as it was after the given step completed.
wp queuety workflow state-at <id> <step>| Option | Description |
|---|---|
<id> | Workflow ID (required) |
<step> | Step index, 0-based (required) |
wp queuety workflow state-at 42 0See Workflow Event Log for details on what gets recorded and use cases.
Schedule commands
wp queuety schedule list
List all recurring schedules.
wp queuety schedule list [--format=<format>]| Option | Description |
|---|---|
--format=<format> | Output format: table (default), json, csv, yaml |
wp queuety schedule add
Add a recurring schedule.
wp queuety schedule add <handler> [--every=<interval>] [--cron=<expression>] [--payload=<json>] [--queue=<queue>]| Option | Description |
|---|---|
<handler> | Handler name or class (required) |
--every=<interval> | Interval expression (e.g. 1 hour, 30 minutes) |
--cron=<expression> | Cron expression (e.g. 0 3 * * *) |
--payload=<json> | JSON payload (default: {}) |
--queue=<queue> | Queue name (default: default) |
You must specify either --every or --cron.
wp queuety schedule add cleanup_handler --every="1 hour"
wp queuety schedule add nightly_report --cron="0 3 * * *" --queue=reportswp queuety schedule remove
Remove a schedule by handler name.
wp queuety schedule remove <handler>| Option | Description |
|---|---|
<handler> | Handler name to remove (required) |
wp queuety schedule run
Manually trigger a scheduler tick. Enqueues jobs for all due schedules.
wp queuety schedule runLog commands
wp queuety log
Query log entries.
wp queuety log [--job=<id>] [--workflow=<id>] [--handler=<name>] [--event=<event>] [--since=<datetime>] [--limit=<n>] [--format=<format>]| Option | Description |
|---|---|
--job=<id> | Filter by job ID |
--workflow=<id> | Filter by workflow ID |
--handler=<name> | Filter by handler name |
--event=<event> | Filter by event type (started, completed, failed, buried, retried, workflow_started, workflow_completed, workflow_failed, workflow_paused, workflow_resumed, workflow_cancelled, debug) |
--since=<datetime> | Show entries since this datetime |
--limit=<n> | Max entries to show (default: 50) |
--format=<format> | Output format: table (default), json, csv, yaml |
# Recent logs (last 24 hours)
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"wp queuety log purge
Purge old log entries.
wp queuety log purge --older-than=<days>| Option | Description |
|---|---|
--older-than=<days> | Delete entries older than N days (required) |
Webhook commands
wp queuety webhook add
Register a webhook URL for an event.
wp queuety webhook add <event> <url>| Option | Description |
|---|---|
<event> | Event name: job.completed, job.failed, job.buried, workflow.completed, workflow.failed (required) |
<url> | URL to POST notifications to (required) |
wp queuety webhook add job.buried https://hooks.slack.com/services/...wp queuety webhook list
List all registered webhooks.
wp queuety webhook list [--format=<format>]| Option | Description |
|---|---|
--format=<format> | Output format: table (default), json, csv, yaml |
wp queuety webhook remove
Remove a webhook by ID.
wp queuety webhook remove <id>| Option | Description |
|---|---|
<id> | Webhook ID to remove (required) |