文件概念
本頁目錄

錯誤與重試

選擇何時重試整個任務、帶著錯誤繼續執行,或停止執行。

重試會使用相同輸入,重新執行整個任務。錯誤處理則可以將支援處理的最終失敗轉為系統錯誤值。兩者獨立設定,執行後果也不同。

任務重試

程式碼、應用操作、OpenAPI、LLM 和 AI 決策節點支援 retry。maxRetries 為額外重試次數,範圍是 0–5。intervalMs 必須是 1,000–60,000 毫秒之間的整秒數。

{
  "op": "node.update",
  "node": "NODE_REFERENCE",
  "set": { "retry": { "maxRetries": 2, "intervalMs": 5000 } }
}

重試可能重複外部操作。它不會重置執行截止時間、繞過限制,也不能重放結果尚未確認的外部操作。Agent、工作流程呼叫、觸發器、等待和審核不支援這套節點重試策略。

處理錯誤

上述五類任務還支援 onError: "error",預設值為 "stop"。啟用重試時,錯誤處理在最後一次嘗試後生效。支援處理的輸入或輸出驗證失敗,可以進入錯誤處理,但不會重試。

執行成功時,系統 error 輸出為 null。失敗被處理後,系統會輸出結構化錯誤,並沿一般執行連線繼續。本次失敗呼叫不會送出業務輸出。

{
  "kind": "system",
  "node": "NODE_REFERENCE",
  "port": "error"
}

可以用條件節點區分 null 和錯誤物件。如果處理後的失敗路徑能到達下游業務輸入,該輸入就必須允許缺失值或 null。錯誤處理沒有單獨的執行連線。

無法處理為業務錯誤的失敗

取消、超時、資源限制、隔離失敗、持久化失敗,以及結果不確定的外部操作,都不能轉成一般的可處理業務錯誤。

工作流程級錯誤處理

工作流程錯誤觸發器會為符合條件的正式環境失敗啟動獨立的處理執行。它不負責捕獲單個節點錯誤,不會清除原始執行的失敗狀態,也不能證明重新執行原任務是安全的。

資料來源

搜尋