文档概念
本页目录

错误与重试

选择何时重试整个任务、带着错误继续执行,或停止运行。

重试会使用相同输入,重新执行整个任务。错误处理则可以将支持处理的最终失败转为系统错误值。两者独立配置,执行后果也不同。

任务重试

代码、应用操作、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。错误处理没有单独的执行连线。

无法处理为业务错误的失败

取消、超时、资源限制、隔离失败、持久化失败,以及结果不确定的外部操作,都不能转成普通的可处理业务错误。

工作流级错误处理

工作流错误触发器会为符合条件的生产失败启动独立的处理运行。它不负责捕获单个节点错误,不会清除源运行的失败状态,也不能证明重新执行原任务是安全的。

资料来源

搜索