错误处理#
在设计流程逻辑时,考虑潜在错误并设置方法来优雅地处理它们是一个好习惯。使用错误工作流,您可以控制 n8n 如何响应工作流执行失败。
创建和设置错误工作流#
对于每个工作流,您可以在工作流设置中设置错误工作流。如果执行失败,它会运行。这意味着您可以,例如,在工作流执行出错时发送电子邮件或 Slack 警报。错误工作流必须以错误触发器开始。
您可以为多个工作流使用相同的错误工作流。
- 创建一个新的工作流,将错误触发器作为第一个节点。
- 为工作流命名,例如
错误处理器
。 - 选择保存。
- 在您想要使用此错误工作流的工作流中:
- 选择选项
> 设置。
- 在错误工作流中,选择您刚创建的工作流。例如,如果您使用了名称"错误处理器",选择错误处理器。
- 选择保存。 现在,当此工作流出错时,相关的错误工作流将运行。
- 选择选项
错误数据#
错误触发器接收的默认错误数据是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
所有信息始终存在,除了:
execution.id
:需要将执行保存在数据库中。如果错误发生在主工作流的触发器节点中,则不存在,因为工作流不会执行。execution.url
:需要将执行保存在数据库中。如果错误发生在主工作流的触发器节点中,则不存在,因为工作流不会执行。execution.retryOf
:仅在执行是失败执行的重试时存在。
如果错误是由主工作流的触发器节点引起的,而不是后续阶段,发送到错误工作流的数据是不同的。execution{}
中的信息较少,trigger{}
中的信息较多:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
使用停止和错误导致工作流执行失败#
当您创建并设置错误工作流时,n8n 在执行失败时运行它。通常,这是由于节点设置中的错误或工作流内存不足等问题。
您可以将停止和错误节点添加到工作流中,以在您选择的情况下强制执行失败,并触发错误工作流。