该技能包面向 n8n 工作流的错误处理与执行失败排查,目标是在调试工作流失败和实现错误恢复时,避免出现静默失败。它围绕四种错误处理机制展开,并给出选择与配置方式。
一、用途 用于排查 n8n 工作流执行失败的原因,并为工作流配置错误捕获、通知与恢复逻辑。资料强调,生产工作流必须配置错误处理,否则静默失败可能导致数据丢失。
二、四种错误处理模式
- 错误工作流:工作流级机制,用于捕获任何未处理的失败并发送通知或执行恢复,在 Workflow Settings 的 Error Workflow 中指定;错误工作流以 Error Trigger 节点开头。
- 优雅降级:通过节点级的 continueOnFail 允许工作流在节点失败后继续,后续节点可从 $json.error 获取错误数据,并应配合 IF 节点区分错误与成功分支。
- 失败重试与回退:节点级 Retry on Fail 用于自动重试瞬时故障,可配置最大重试次数与重试间隔;重试仍失败则交由错误工作流处理。
- 显式失败:使用 Stop And Error 节点,在业务校验发现无效数据时主动终止工作流并给出自定义错误信息,错误工作流会收到该信息。
三、使用方式 资料提供错误处理决策树,按失败是否为瞬时、是否可继续、是否为业务校验失败逐层判断应采用的机制。另提供症状与原因及修复对照表,覆盖节点红叉、工作流无法启动、无限挂起、错误工作流未触发、$json.error 未定义、执行超时、凭据错误、子工作流调用失败等情形。Error Trigger 节点接收的数据包含 execution.id、execution.url、execution.error.message、execution.lastNodeExecuted、execution.mode 以及 workflow.id、workflow.name 等字段。
四、超时配置 执行超时可在实例级通过 EXECUTIONS_TIMEOUT 设置(默认 -1 表示禁用),实例上限由 EXECUTIONS_TIMEOUT_MAX 控制(默认 3600 秒),也可在单个工作流的 Workflow Settings 中覆盖。资料建议生产环境始终设置 EXECUTIONS_TIMEOUT。
五、常见执行错误 涵盖认证与凭据类(401、403、ECONNREFUSED)、数据处理类(读取未定义属性、条目过多、请求负载过大)与执行环境类(超时停止、队列模式下 worker 超时、内存不足)。
六、规则与限制 资料强调:每个生产工作流都要配置错误工作流;错误工作流必须以 Error Trigger 节点开始;生产环境要设置执行超时;continueOnFail 节点后要加 IF 节点处理错误分支;不要指望重试能解决非瞬时错误;关键节点不要使用 continueOnFail;要用 Stop And Error 主动测试错误工作流。参考文件包括 methods.md(错误处理节点、continueOnFail API、重试配置)、examples.md(错误工作流搭建与模式示例)、anti-patterns.md(应避免的错误处理做法)。具体安装方式与代码内容暂未提供。