CLI Referenz
Alle Queuety-Operationen sind standardmäßig über WP-CLI im Namespace wp queuety verfügbar.
Definiere QUEUETY_CLI_COMMAND, bevor Queuety gestartet wird, wenn du denselben Befehlsbaum unter einem anderen Root wie wp themequeue veröffentlichen möchtest.
Für Agenten-Harnesses und andere Virtual-Bash-Integrationen dient diese Seite als Referenz für Menschen und die PHP-Bridge als maschinenlesbarer Vertrag:
Queuety::cli_command_map()stellt den serialisierbaren Befehlskatalog bereitQueuety::resolve_cli_command( $path, $args, $assoc_args )wandelt geparstewp queuety ...-Eingaben in einen normalisierten Ausführungsplan um, der direkte PHP-Aufrufobjekte bevorzugt
State Machines haben in diesem Baum keine Befehle. Sie lassen sich über den PHP-API untersuchen, der unter State Machines beschrieben ist.
Job-Befehle
wp queuety work
Startet einen Worker, der Jobs verarbeitet.
wp queuety work [--queue=<queue>] [--once] [--workers=<n>]
wp queuety work [--queue=<queue>] [--min-workers=<n>] --max-workers=<n>
| Option | Beschreibung |
|---|---|
--queue=<queue> |
Queue(s) zur Verarbeitung; durch Kommas getrennt, in Prioritätsreihenfolge (Standard: default) |
--once |
Verarbeitet höchstens einen Job und beendet sich (auch sofort, wenn kein Job beansprucht werden kann) |
--workers=<n> |
Startet N Worker-Prozesse (erfordert die Erweiterungen pcntl und posix, ebenso wie --min-workers und --max-workers) |
--min-workers=<n> |
Mindestanzahl an Workern für einen adaptiven Pool. Erfordert --max-workers |
--max-workers=<n> |
Höchstanzahl an Workern für einen adaptiven Pool |
# 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
Wenn mehrere Queues angegeben sind, versucht der Worker, Jobs in der angegebenen Reihenfolge aus jeder Queue zu beanspruchen. Die erste Queue mit einem verfügbaren Job gewinnt. --workers hält den Pool unverändert. --min-workers und --max-workers aktivieren die adaptive Skalierung für dieselbe Befehlsoberfläche. Bereitstellungsstrategien findest du unter Workers und das Zulassungsmodell für adaptive Pools unter Resource Management.
wp queuety flush
Verarbeitet alle ausstehenden Jobs und beendet sich.
wp queuety flush [--queue=<queue>]
| Option | Beschreibung |
|---|---|
--queue=<queue> |
Queue(s) zum Leeren; durch Kommas getrennt, in Prioritätsreihenfolge (Standard: 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
Stellt einen Job über die Kommandozeile ein.
wp queuety dispatch <handler> [--payload=<json>] [--queue=<queue>] [--priority=<priority>] [--delay=<seconds>]
| Option | Beschreibung |
|---|---|
<handler> |
Handlername oder -klasse (erforderlich) |
--payload=<json> |
JSON-Payload (Standard: {}) |
--queue=<queue> |
Queue-Name (Standard: default) |
--priority=<priority> |
Prioritätsstufe 0–3 (Standard: 0) |
--delay=<seconds> |
Verzögerung in Sekunden (Standard: 0) |
wp queuety dispatch send_email --payload='{"to":"user@example.com"}' --queue=emails
wp queuety status
Zeigt Queue-Statistiken an.
wp queuety status [--queue=<queue>]
| Option | Beschreibung |
|---|---|
--queue=<queue> |
Nach Queue-Namen filtern |
wp queuety list
Listet Jobs auf.
wp queuety list [--queue=<queue>] [--status=<status>] [--format=<format>]
| Option | Beschreibung |
|---|---|
--queue=<queue> |
Nach Queue filtern |
--status=<status> |
Nach Status filtern (pending, processing, completed, failed, buried) |
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
wp queuety inspect
Zeigt alle Details eines Jobs an, einschließlich Payload und Protokollverlauf.
wp queuety inspect <id>
| Option | Beschreibung |
|---|---|
<id> |
Job-ID (erforderlich) |
wp queuety retry
Versucht einen bestimmten Job erneut.
wp queuety retry <id>
| Option | Beschreibung |
|---|---|
<id> |
Job-ID für den erneuten Versuch (erforderlich) |
wp queuety retry-buried
Versucht alle vergrabenen Jobs erneut.
wp queuety retry-buried
wp queuety bury
Vergräbt einen Job manuell.
wp queuety bury <id>
| Option | Beschreibung |
|---|---|
<id> |
Job-ID zum Vergraben (erforderlich) |
wp queuety delete
Löscht einen Job.
wp queuety delete <id>
| Option | Beschreibung |
|---|---|
<id> |
Job-ID zum Löschen (erforderlich) |
wp queuety recover
Stellt veraltete Jobs wieder her, die im Status processing feststecken.
wp queuety recover
wp queuety purge
Löscht abgeschlossene Jobs.
wp queuety purge [--older-than=<days>]
| Option | Beschreibung |
|---|---|
--older-than=<days> |
Löscht Jobs, die älter als N Tage sind (Standard: QUEUETY_RETENTION_DAYS) |
wp queuety pause
Eine Warteschlange pausieren, damit Worker sie überspringen.
wp queuety pause <queue>
| Option | Beschreibung |
|---|---|
<queue> |
Name der zu pausierenden Queue (erforderlich) |
wp queuety resume
Eine pausierte Warteschlange fortsetzen.
wp queuety resume <queue>
| Option | Beschreibung |
|---|---|
<queue> |
Name der fortzusetzenden Queue (erforderlich) |
wp queuety metrics
Zeigt handlerbezogene Metriken an.
wp queuety metrics [--minutes=<minutes>] [--format=<format>]
| Option | Beschreibung |
|---|---|
--minutes=<minutes> |
Zeitfenster in Minuten (Standard: 60) |
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
wp queuety discover
Ermittelt Handlerklassen in einem Verzeichnis.
wp queuety discover <directory> <namespace> [--register]
| Option | Beschreibung |
|---|---|
<directory> |
Zu durchsuchendes Verzeichnis für Handlerklassen (erforderlich) |
<namespace> |
PSR-4-Namespace-Präfix für das Verzeichnis (erforderlich) |
--register |
Registriert die gefundenen Handler tatsächlich |
Workflow-Befehle
wp queuety workflow status
Zeigt Workflow-Status und Fortschritt an.
wp queuety workflow status <id>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
status gibt den aktuellen Schritt, einen optionalen Schrittnamen, Versions-/Hash-Metadaten, den Wartemodus und eine Artefaktübersicht aus. Wenn der Workflow aktuell auf Signale oder Abhängigkeiten wartet, wird außerdem ein WaitInfo-JSON-Blob ausgegeben.
wp queuety workflow list
Listet Workflows auf.
wp queuety workflow list [--status=<status>] [--format=<format>]
| Option | Beschreibung |
|---|---|
--status=<status> |
Nach Status filtern: running, completed, failed, paused, waiting_for_signal, waiting_for_workflows, cancelled |
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
Der Befehl gibt höchstens 50 Workflows zurück. Er liest einen Wert für --limit, aber WP-CLI weist das Flag derzeit zurück, da der Befehl es nicht deklariert (#12); verwende Queuety::list_workflows() für einen anderen Grenzwert.
Die Standardtabelle enthält StepName und WaitMode, damit sich blockierte Workflows leichter überblicken lassen.
wp queuety workflow retry
Einen fehlgeschlagenen Workflow ab dem fehlgeschlagenen Schritt erneut versuchen.
wp queuety workflow retry <id>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
wp queuety workflow approve
Sendet ein Genehmigungssignal an einen Workflow.
wp queuety workflow approve <id> [--data=<json>] [--signal=<name>]
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
--data=<json> |
Optionaler JSON-Objekt-Payload |
--signal=<name> |
Überschreibt den Namen des Genehmigungssignals (Standard: approval, passend zu wait_for_approval(); ein Schritt vom Typ wait_for_decision() wartet standardmäßig auf approved, gib dort also --signal=approved an) |
wp queuety workflow reject
Sendet ein Ablehnungssignal an einen Workflow.
wp queuety workflow reject <id> [--data=<json>] [--signal=<name>]
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
--data=<json> |
Optionaler JSON-Objekt-Payload |
--signal=<name> |
Überschreibt den Namen des Ablehnungssignals (Standard: rejected) |
wp queuety workflow input
Sendet strukturierte Eingaben an einen Workflow.
wp queuety workflow input <id> [--data=<json>] [--signal=<name>]
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
--data=<json> |
Optionaler JSON-Objekt-Payload |
--signal=<name> |
Überschreibt den Namen des Eingabesignals (Standard: input) |
wp queuety workflow artifacts
Listet gespeicherte Artefakte für einen Workflow auf.
wp queuety workflow artifacts <id> [--format=<format>] [--with-content]
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
--format=<format> |
Ausgabeformat: table (Standard) oder json |
--with-content |
Artefaktinhalt in die Ausgabe aufnehmen |
wp queuety workflow artifact
Zeigt ein gespeichertes Artefakt eines Workflows an.
wp queuety workflow artifact <id> <key>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
<key> |
Artefaktschlüssel (erforderlich) |
wp queuety workflow pause
Pausiert einen laufenden Workflow.
wp queuety workflow pause <id>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
wp queuety workflow resume
Einen pausierten Workflow fortsetzen.
wp queuety workflow resume <id>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
wp queuety workflow cancel
Bricht einen Workflow ab, der sich nicht bereits im Status completed oder cancelled befindet. In einer Transaktion setzt Queuety den Status auf cancelled, vergräbt die ausstehenden und laufenden Jobs des Workflows und protokolliert workflow_cancelled. Anschließend führt es Kompensationen und alle registrierten Bereinigungshandler aus.
wp queuety workflow cancel <id>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID für den Abbruch (erforderlich) |
wp queuety workflow cancel 42
wp queuety workflow timeline
Zeigt die Ereigniszeitleiste eines Workflows an. Sie enthält alle Schritt-Ereignisse (gestartet, abgeschlossen, fehlgeschlagen) mit Zeitstempeln, Handlern und Laufzeiten.
wp queuety workflow timeline <id> [--limit=<limit>] [--offset=<offset>] [--format=<format>]
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
--limit=<limit> |
Höchstzahl der zurückzugebenden Ereignisse (Standard: 100) |
--offset=<offset> |
Anzahl der zu überspringenden älteren Ereignisse (Standard: 0) |
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
wp queuety workflow timeline 42
Ausgabespalten: ID, Step, Event, Handler, Duration_ms, Error, Created_at.
wp queuety workflow state-at
Zeigt den öffentlichen Workflow-Status nach Abschluss oder Fortsetzung eines bestimmten Workflow-Schritts an.
wp queuety workflow state-at <id> <step>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
<step> |
Schrittindex, beginnend bei 0 (erforderlich) |
wp queuety workflow state-at 42 0
Details dazu, was aufgezeichnet wird und wofür es verwendet werden kann, findest du unter Workflow Event Log.
wp queuety workflow rewind
Setzt einen Workflow auf einen früheren Schritt zurück und fährt mit dem darauffolgenden Schritt fort. Der Status wird anhand des Ereignisprotokolls state_after für den angegebenen Schritt wiederhergestellt; der nächste Schritt (<step> + 1) wird in die Queue gestellt. Der angegebene Schritt wird nicht erneut ausgeführt.
wp queuety workflow rewind <id> <step>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
<step> |
Schrittindex, auf den zurückgesetzt werden soll, beginnend bei 0 (erforderlich) |
wp queuety workflow rewind 42 1
Details findest du unter Time Travel.
wp queuety workflow fork
Erstellt aus einem laufenden Workflow am aktuellen Status eine unabhängige Kopie. Der abgezweigte Workflow erhält eine neue ID und läuft eigenständig weiter.
wp queuety workflow fork <id>
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID für die Abzweigung (erforderlich) |
wp queuety workflow fork 42
# Success: Workflow #42 forked. New workflow ID: 43.
Details findest du unter Forking.
wp queuety workflow export
Exportiert den vollständigen Ausführungsverlauf eines Workflows nach JSON. Enthalten sind der Workflow-Datensatz, Jobs, Workflow-Ereignisse, Protokolleinträge, gespeicherte Signale und Wartevorgänge für Workflow-Abhängigkeiten.
wp queuety workflow export <id> [--output=<file>]
| Option | Beschreibung |
|---|---|
<id> |
Workflow-ID (erforderlich) |
--output=<file> |
Dateipfad für die Ausgabe von JSON. Standardmäßig stdout. |
# Print to stdout
wp queuety workflow export 42
# Write to a file
wp queuety workflow export 42 --output=/tmp/workflow-42.json
Details zur Struktur von JSON findest du unter Export and Replay.
wp queuety workflow replay
Spielt einen exportierten Workflow aus einer JSON-Datei erneut ab. Erstellt einen neuen Workflow mit dem exportierten Status, den Metadaten und der historischen Zeitleiste.
wp queuety workflow replay <file>
| Option | Beschreibung |
|---|---|
<file> |
Pfad zur exportierten JSON-Datei (erforderlich) |
wp queuety workflow replay /tmp/workflow-42.json
# Success: Workflow replayed. New workflow ID: 85.
Einzelheiten findest du unter Export und Wiedergabe.
Schedule-Befehle
wp queuety schedule list
Listet alle wiederkehrenden Zeitpläne auf.
wp queuety schedule list [--format=<format>]
| Option | Beschreibung |
|---|---|
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
wp queuety schedule add
Fügt einen wiederkehrenden Zeitplan hinzu.
wp queuety schedule add <handler> [--every=<interval>] [--cron=<expression>] [--payload=<json>] [--queue=<queue>]
| Option | Beschreibung |
|---|---|
<handler> |
Handlername oder -klasse (erforderlich) |
--every=<interval> |
Intervallausdruck (e.g. 1 hour, 30 minutes) |
--cron=<expression> |
Cron-Ausdruck (e.g. 0 3 * * *) |
--payload=<json> |
JSON-Payload (Standard: {}) |
--queue=<queue> |
Queue-Name (Standard: default) |
Du musst entweder --every oder --cron angeben.
wp queuety schedule add cleanup_handler --every="1 hour"
wp queuety schedule add nightly_report --cron="0 3 * * *" --queue=reports
wp queuety schedule remove
Entfernt einen Zeitplan anhand des Handlernamens.
wp queuety schedule remove <handler>
| Option | Beschreibung |
|---|---|
<handler> |
Zu entfernender Handlername (erforderlich) |
wp queuety schedule run
Löst manuell einen Scheduler-Tick aus. Stellt Jobs für alle fälligen Zeitpläne in die Queue.
wp queuety schedule run
Protokollbefehle
wp queuety log
Fragt Protokolleinträge ab.
wp queuety log [--job=<id>] [--workflow=<id>] [--handler=<name>] [--event=<event>] [--since=<datetime>] [--limit=<n>] [--format=<format>]
| Option | Beschreibung |
|---|---|
--job=<id> |
Nach Job-ID filtern |
--workflow=<id> |
Nach Workflow-ID filtern |
--handler=<name> |
Nach Handlernamen filtern |
--event=<event> |
Nach Ereignistyp filtern (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> |
Einträge ab diesem Datum und dieser Uhrzeit anzeigen |
--limit=<n> |
Höchstzahl der anzuzeigenden Einträge (Standard: 50) |
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
Filter werden nicht kombiniert: Queuety wendet den ersten vorhandenen Filter in der Reihenfolge --job, --workflow, --handler, --event, --since an. --job und --workflow geben alle Einträge in aufsteigender Reihenfolge zurück und ignorieren --limit. --handler und --event geben die neuesten Einträge zuerst zurück. Ohne Filter liest der Befehl die letzten 24 Stunden. Diese Abfrage und --since listen Einträge in aufsteigender Reihenfolge auf, sodass --limit die ältesten Einträge im Zeitfenster beibehält.
# 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"
Protokolleinträge löschen
LogCommand definiert einen Unterbefehl purge (wp queuety log purge --older-than=<days>), aber WP-CLI registriert wp queuety log als einzelnen Befehl. Daher ist der Unterbefehl nicht erreichbar und schlägt mit „Too many positional arguments: purge“ fehl (#11). Lösche alte Protokolleinträge stattdessen über PHP:
wp eval 'echo Queuety\Queuety::purge_logs( 30 );'
Webhook-Befehle
wp queuety webhook add
Registriert einen Webhook URL für ein Ereignis.
wp queuety webhook add <event> <url>
| Option | Beschreibung |
|---|---|
<event> |
Ereignisname: job.completed, job.failed, job.buried oder workflow.failed (erforderlich) |
<url> |
URL für POST-Benachrichtigungen (erforderlich) |
wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook list
Listet alle registrierten Webhooks auf.
wp queuety webhook list [--format=<format>]
| Option | Beschreibung |
|---|---|
--format=<format> |
Ausgabeformat: table (Standard), json, csv, yaml |
wp queuety webhook remove
Entfernt einen Webhook anhand seiner ID.
wp queuety webhook remove <id>
| Option | Beschreibung |
|---|---|
<id> |
Zu entfernende Webhook-ID (erforderlich) |