CLI リファレンス
すべてのQueuety操作は、既定でwp queuety名前空間のWP-CLIから利用できます。
別のルート名(たとえばwp themequeue)で同じコマンドツリーを公開するには、Queuetyの起動前にQUEUETY_CLI_COMMANDを定義してください。
エージェント用テストハーネスやその他の仮想bash統合では、このページを人が読むためのリファレンスとして扱い、機械向けの契約にはPHPブリッジを使ってください。
Queuety::cli_command_map()はシリアライズ可能なコマンドカタログを公開しますQueuety::resolve_cli_command( $path, $args, $assoc_args )は解析済みのwp queuety ...入力を、直接PHP呼び出し可能オブジェクトを優先する正規化済み実行プランに変換します
このツリーにはステートマシンのコマンドはありません。State Machinesで説明されている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 |
ジョブを最大1件処理して終了します(取得可能なジョブがない場合も直ちに終了) |
--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を使うと、同じコマンドで適応型スケーリングが有効になります。デプロイ方法はWorkersを、適応型プールの受け入れモデルはResource Managementを参照してください。
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
ワークフローに保存された成果物を1件表示します。
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の状態でないワークフローをキャンセルします。1つのトランザクションで、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
記録される内容と使用例については、Workflow Event Logを参照してください。
wp queuety workflow rewind
ワークフローを前のステップまで巻き戻し、その次のステップから再開します。指定したステップのイベントログstate_afterから状態が復元され、次のステップ(<step> + 1)がキューに追加されます。指定したステップ自体は再実行されません。
wp queuety workflow rewind <id> <step>
| オプション | 説明 |
|---|---|
<id> |
ワークフローID(必須) |
<step> |
巻き戻し先のステップインデックス、0始まり(必須) |
wp queuety workflow rewind 42 1
詳しくはTime Travelを参照してください。
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.
詳しくはForkingを参照してください。
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の構造についてはExport and Replayを参照してください。
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
スケジューラーの処理を手動で1回実行します。期限が来たすべてのスケジュールのジョブをキューに追加します。
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 );'
Webhookコマンド
wp queuety webhook add
イベントに対するWebhookURLを登録します。
wp queuety webhook add <event> <url>
| オプション | 説明 |
|---|---|
<event> |
イベント名: job.completed、job.failed、job.buried、workflow.failedのいずれか(必須) |
<url> |
通知のPOST先となるURL(必須) |
wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook list
登録済みのWebhookをすべて一覧表示します。
wp queuety webhook list [--format=<format>]
| オプション | 説明 |
|---|---|
--format=<format> |
出力形式: table(既定値)、json、csv、yaml |
wp queuety webhook remove
IDでWebhookを削除します。
wp queuety webhook remove <id>
| オプション | 説明 |
|---|---|
<id> |
削除するWebhook ID(必須) |