このページの内容

エラーと再試行

タスクの再試行、エラー値を使った続行、実行の停止を選択します。

再試行は、同じ入力でタスク全体を繰り返します。エラー処理は、対応する最終失敗をシステムのエラー値に変換します。両者は独立した設定で、結果も異なります。

タスクの再試行

Code、Connector、OpenAPI、LLM、AI Decision は retry に対応します。maxRetries は追加試行回数で 0–5、intervalMs は 1,000–60,000 ミリ秒の範囲の整数秒です。

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

再試行は外部操作を繰り返す可能性があります。実行期限をリセットしたり、制限を回避したり、結果未確認の操作を再実行したりはしません。Agent、ワークフロー呼び出し、トリガー、Wait、Approval はこの再試行ポリシーに対応しません。

エラーを処理する

同じ 5 種類のタスクは onError: "error" にも対応し、デフォルトは "stop" です。再試行がある場合は最後の試行後に適用します。対応する入力・出力の検証エラーは処理できますが、再試行はしません。

成功時のシステム error は null です。失敗を処理すると、構造化エラーを出力して通常の実行エッジを続行します。その失敗した呼び出しの業務出力はコミットしません。

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

Condition で null とエラーオブジェクトを判別できます。処理済みエラーの経路から到達する下流の業務入力では、欠損値や null を許容する必要があります。専用のエラー実行エッジはありません。

通常のエラーとして処理できない失敗

取消し、期限切れ、リソース制限、隔離の失敗、永続化の失敗、結果不明の外部操作は、通常の処理可能な業務エラーに変換できません。

ワークフロー単位の処理

Flow Error は、対象となる本番の失敗に対して別の処理実行を開始します。ノード単位の catch ではなく、元の実行の失敗を消したり、再実行の安全性を保証したりはしません。

参照元

検索