콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

오류 처리#

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

오류 조사

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

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

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

같은 오류 워크플로우를 여러 워크플로우에서 사용할 수 있습니다.

  1. 새로운 워크플로를 생성하고, 첫 번째 노드로 Error Trigger 노드를 추가합니다.
  2. 워크플로에 Error Handler 등의 적절한 이름을 지정합니다.
  3. 저장(Save) 을 선택합니다.
  4. 오류 워크플로를 사용할 워크플로에서 다음 단계를 수행합니다:
    1. 옵션(Options) 옵션 메뉴 아이콘 > 설정(Settings) 을 선택합니다.
    2. 오류 워크플로(Error workflow) 항목에서 방금 생성한 워크플로를 선택합니다. 예를 들어, Error Handler 이름을 사용했다면 Error Handler 를 선택합니다.
    3. 저장(Save) 을 선택합니다.

이제 해당 워크플로에서 오류가 발생하면 연결된 오류 처리 워크플로가 실행됩니다.

오류 데이터#

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": ""
  }
}

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

오류 워크플로우를 생성 및 설정하면 n8n은 실행이 실패할 때 이를 실행합니다. 일반적으로 이는 노드 설정의 오류나 워크플로우가 메모리 부족으로 실행되는 것과 같은 이유로 발생합니다.

원하는 상황에서 실행이 실패하도록 강제하기 위해 Stop And Error 노드를 워크플로우에 추가할 수 있으며, 오류 워크플로우를 트리거합니다.

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!