InfoGrab Docs

오류 처리

요약

플로우 로직을 설계할 때, 잠재적인 오류를 고려하고 우아하게 처리하는 방법을 설정하는 것이 좋은 습관입니다. 실패한 실행을 조사하려면 다음을 수행할 수 있습니다: 각 워크플로에 대해 Workflow Settings에서 오류 워크플로를 설정할 수 있습니다.

플로우 로직을 설계할 때, 잠재적인 오류를 고려하고 우아하게 처리하는 방법을 설정하는 것이 좋은 습관입니다. 오류 워크플로를 사용하면 워크플로 실행 실패 시 n8n이 어떻게 응답하는지 제어할 수 있습니다.

오류 조사

실패한 실행을 조사하려면 다음을 수행할 수 있습니다:

오류 워크플로 생성 및 설정#

각 워크플로에 대해 Workflow Settings에서 오류 워크플로를 설정할 수 있습니다. 실행이 실패하면 오류 워크플로가 실행됩니다. 즉, 워크플로 실행에 오류가 발생할 때 이메일이나 Slack 알림을 보내는 등의 작업을 수행할 수 있습니다. 오류 워크플로는 Error Trigger로 시작해야 합니다.

여러 워크플로에 동일한 오류 워크플로를 사용할 수 있습니다.

  1. Error Trigger를 첫 번째 노드로 사용하는 새 워크플로우를 만듭니다.
  2. 워크플로우에 이름을 지정합니다(예: Error Handler).
  3. Save를 선택합니다.
  4. 이 에러 워크플로우를 사용하려는 워크플로우에서:
    1. Options Options menu icon > Settings를 선택합니다.
    2. Error workflow에서 방금 생성한 워크플로우를 선택합니다. 예를 들어 Error Handler라는 이름을 사용했다면 Error handler를 선택합니다.
    3. Save를 선택합니다. 이제 이 워크플로우에서 오류가 발생하면 관련 에러 워크플로우가 실행됩니다.

오류 데이터#

Error Trigger가 수신하는 기본 오류 데이터는 다음과 같습니다:

[
	{
		"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{}의 정보는 더 많습니다:

{
  "trigger": {
    "error": {
      "context": {},
      "name": "WorkflowActivationError",
      "cause": {
        "message": "",
        "stack": ""
      },
      "timestamp": 1654609328787,
      "message": "",
      "node": {
        . . .
      }
    },
    "mode": "trigger"
  },
  "workflow": {
    "id": "",
    "name": ""
  }
}

Stop And Error를 사용하여 워크플로 실행 실패 유도#

오류 워크플로를 생성하고 설정하면, n8n은 실행이 실패할 때 오류 워크플로를 실행합니다. 일반적으로 이는 노드 설정 오류나 워크플로의 메모리 부족과 같은 문제로 인해 발생합니다.

워크플로에 Stop And Error 노드를 추가하여 선택한 상황에서 강제로 실행을 실패시키고 오류 워크플로를 트리거할 수 있습니다.

오류 처리

원문 보기
요약

플로우 로직을 설계할 때, 잠재적인 오류를 고려하고 우아하게 처리하는 방법을 설정하는 것이 좋은 습관입니다. 실패한 실행을 조사하려면 다음을 수행할 수 있습니다: 각 워크플로에 대해 Workflow Settings에서 오류 워크플로를 설정할 수 있습니다.

플로우 로직을 설계할 때, 잠재적인 오류를 고려하고 우아하게 처리하는 방법을 설정하는 것이 좋은 습관입니다. 오류 워크플로를 사용하면 워크플로 실행 실패 시 n8n이 어떻게 응답하는지 제어할 수 있습니다.

오류 조사

실패한 실행을 조사하려면 다음을 수행할 수 있습니다:

오류 워크플로 생성 및 설정#

각 워크플로에 대해 Workflow Settings에서 오류 워크플로를 설정할 수 있습니다. 실행이 실패하면 오류 워크플로가 실행됩니다. 즉, 워크플로 실행에 오류가 발생할 때 이메일이나 Slack 알림을 보내는 등의 작업을 수행할 수 있습니다. 오류 워크플로는 Error Trigger로 시작해야 합니다.

여러 워크플로에 동일한 오류 워크플로를 사용할 수 있습니다.

  1. Error Trigger를 첫 번째 노드로 사용하는 새 워크플로우를 만듭니다.
  2. 워크플로우에 이름을 지정합니다(예: Error Handler).
  3. Save를 선택합니다.
  4. 이 에러 워크플로우를 사용하려는 워크플로우에서:
    1. Options Options menu icon > Settings를 선택합니다.
    2. Error workflow에서 방금 생성한 워크플로우를 선택합니다. 예를 들어 Error Handler라는 이름을 사용했다면 Error handler를 선택합니다.
    3. Save를 선택합니다. 이제 이 워크플로우에서 오류가 발생하면 관련 에러 워크플로우가 실행됩니다.

오류 데이터#

Error Trigger가 수신하는 기본 오류 데이터는 다음과 같습니다:

[
	{
		"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{}의 정보는 더 많습니다:

{
  "trigger": {
    "error": {
      "context": {},
      "name": "WorkflowActivationError",
      "cause": {
        "message": "",
        "stack": ""
      },
      "timestamp": 1654609328787,
      "message": "",
      "node": {
        . . .
      }
    },
    "mode": "trigger"
  },
  "workflow": {
    "id": "",
    "name": ""
  }
}

Stop And Error를 사용하여 워크플로 실행 실패 유도#

오류 워크플로를 생성하고 설정하면, n8n은 실행이 실패할 때 오류 워크플로를 실행합니다. 일반적으로 이는 노드 설정 오류나 워크플로의 메모리 부족과 같은 문제로 인해 발생합니다.

워크플로에 Stop And Error 노드를 추가하여 선택한 상황에서 강제로 실행을 실패시키고 오류 워크플로를 트리거할 수 있습니다.