ジョブ
ジョブ機能は、タスクおよびプロバイダー イベントから派生した実行可能なキュー ユニットを定義します。 これにより、非同期作業が失敗した場合の再試行、手動トリガー、解決を直接操作制御できます。
なぜこれが重要なのか
この機能により、ジョブごとの粒度でキューの実行を監視できるため、推測に頼ることなく障害を診断して回復できます。明示的な再試行、トリガー、アクションの解決を通じて決定論的なオペレーターの回復をサポートしながら、クリーンアップ操作を計画的かつ範囲内に保ちます。
コアフロー
タスクまたはプロバイダー イベントによってジョブが生成され、ワーカーが実行してステータス、試行、失敗の詳細に注釈を付けます。オペレーターは、アカウント キュー ビューで失敗または停止したジョブを確認し、明示的な再試行/解決/トリガー アクションを実行し、結果として得られるジョブの状態を使用してタスクのライフサイクルを追跡し、トレースを監査します。
操作
| 操作 | エンドポイント | 目的 |
|---|---|---|
| 求人一覧 | GET /api/accounts/:account_id/jobs | アカウントジョブキューを取得 |
| 求人を探す | POST /api/accounts/:account_id/jobs/search | フィルタによるジョブのクエリ |
| 検索によるジョブの削除 | POST /api/accounts/:account_id/jobs/search-delete | 一致したジョブを一括削除 |
| 仕事に就く | GET /api/jobs/:job_id | 1 つのジョブを取得する |
| ジョブの更新 | PATCH /api/jobs/:job_id | 変更可能なジョブ フィールドを変更する |
| ジョブを削除 | DELETE /api/jobs/:job_id | ジョブを 1 つ削除 |
| ジョブを再試行 | POST /api/jobs/:job_id/retry | 失敗したジョブを再度キューに入れる |
| ジョブを解決する | POST /api/jobs/:job_id/resolve | 端子処理状態をマーク |
| トリガージョブ | POST /api/jobs/:job_id/trigger | 強制実行トリガー |
主要なデータと状態
{
id: "job_...",
account_id: "acc_...",
task_id: "tsk_...",
action: "imap_sync_messages",
attempt_count: 2,
last_error_code: "provider_timeout",
last_error_detail: "IMAP connection timed out"
}
故障モードと制御
失敗した実行は、確定的な処理のために明示的なエラーの詳細を保存します。再試行、トリガー、および解決は、暗黙的な読み取り副作用ではなくコマンド スタイルの操作であり、アカウント スコープのリスト/検索境界により、アカウント間のキューの可視性が妨げられます。