職位
作業功能定義了從任務和提供者事件派生的可執行佇列單元。 當非同步工作失敗時,它使您可以直接操作控制重試、手動觸發和解決方案。
為什麼這很重要
此功能使得佇列執行可以按作業粒度進行觀察,因此可以診斷和復原故障,而無需猜測。它透過明確重試、觸發和解析操作支援確定性運算子恢復,同時保持清理作業的深思熟慮和範圍。
核心流程
任務或提供者事件產生工作人員執行的作業,並以狀態、嘗試和失敗詳細資料進行註解。操作員在帳戶佇列檢視中查看失敗或停滯的作業,執行明確重試/解決/觸發操作,並使用產生的作業狀態來追蹤任務生命週期和審核追蹤。
操作
| 營運 | 端點 | 目的 |
|---|---|---|
| 職位清單 | 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 | 檢索一份工作 |
| 更新職位 | PATCH /api/jobs/:job_id | 修改可變的工作欄位 |
| 刪除職位 | DELETE /api/jobs/:job_id | 刪除一項工作 |
| 重試作業 | 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"
}
故障模式與控制
失敗的執行會保留明確的錯誤詳細訊息,以便進行確定性處理。重試、觸發和解析是命令式操作,而不是隱式讀取副作用,且帳戶範圍的清單/搜尋邊界可防止跨帳戶佇列可見性。