跳至内容

错误触发节点#

您可以使用错误触发节点来创建错误工作流。当另一个关联的工作流失败时,该节点会获取失败工作流及其错误的详细信息,并运行错误工作流。

用法#

  1. 创建一个新的工作流,将错误触发器作为第一个节点。
  2. 为工作流命名,例如 Error Handler
  3. 选择保存
  4. In the workflow where you want to use this error workflow:
    1. 选择选项 Options menu icon > 设置
    2. 错误工作流中,选择您刚刚创建的工作流。例如,如果您使用了名称"Error Handler",请选择Error handler
    3. 选择保存。 现在,当此工作流出错时,相关的错误工作流将运行。

请注意以下事项:

  • 如果工作流使用了错误触发节点,您无需手动激活该工作流。
  • 如果工作流包含错误触发节点,默认情况下,该工作流会将自身作为错误工作流使用。
  • 手动运行工作流时无法测试错误工作流。错误触发器仅在自动工作流出错时运行。

模板和示例#

浏览错误触发器集成模板,或搜索所有模板

您可以使用Stop And Error节点向错误触发器发送自定义消息。

了解更多关于n8n工作流中的错误工作流

错误数据#

Error Trigger 接收到的默认错误数据是:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[
	{
		"execution": {
			"id": "231",
			"url": "https://n8n.example.com/execution/231",
			"retryOf": "34",
			"error": {
				"message": "Example Error Message",
				"stack": "Stacktrace"
			},
			"lastNodeExecuted": "Node With Error",
			"mode": "manual"
		},
		"workflow": {
			"id": "1",
			"name": "Example Workflow"
		}
	}
]

所有信息始终存在,除了:

  • 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
{
  "trigger": {
    "error": {
      "context": {},
      "name": "WorkflowActivationError",
      "cause": {
        "message": "",
        "stack": ""
      },
      "timestamp": 1654609328787,
      "message": "",
      "node": {
        . . . 
      }
    },
    "mode": "trigger"
  },
  "workflow": {
    "id": "",
    "name": ""
  }
}
优云智算