오류 처리#
플로우 로직을 설계할 때, 잠재적인 오류를 고려하고 이를 우아하게 처리할 수 있는 방법을 설정하는 것이 좋은 방법입니다. 오류 워크플로우를 사용하면 n8n이 워크플로우 실행 실패에 어떻게 반응하는지를 제어할 수 있습니다.
오류 조사
실패한 실행을 조사하려면 다음을 할 수 있습니다:
- Executions를 검토하여 단일 워크플로우 또는 접근 가능한 모든 워크플로우를 확인하세요. 이전 실행에서 데이터 로드하기를 통해 현재 워크플로우로 가져올 수 있습니다.
- 로그 스트리밍을 활성화하세요.
오류 워크플로우 생성 및 설정#
각 워크플로우에 대해 워크플로우 설정에서 오류 워크플로우를 설정할 수 있습니다. 실행이 실패할 경우 실행됩니다. 즉, 워크플로우 실행에 오류가 발생할 때 이메일이나 Slack 알림을 보낼 수 있습니다. 오류 워크플로우는 Error Trigger로 시작해야 합니다.
같은 오류 워크플로우를 여러 워크플로우에서 사용할 수 있습니다.
- 새로운 워크플로를 생성하고, 첫 번째 노드로 Error Trigger 노드를 추가합니다.
- 워크플로에
Error Handler
등의 적절한 이름을 지정합니다. - 저장(Save) 을 선택합니다.
- 오류 워크플로를 사용할 워크플로에서 다음 단계를 수행합니다:
- 옵션(Options)
> 설정(Settings) 을 선택합니다.
- 오류 워크플로(Error workflow) 항목에서 방금 생성한 워크플로를 선택합니다. 예를 들어,
Error Handler
이름을 사용했다면 Error Handler 를 선택합니다. - 저장(Save) 을 선택합니다.
- 옵션(Options)
이제 해당 워크플로에서 오류가 발생하면 연결된 오류 처리 워크플로가 실행됩니다.
오류 데이터#
Error Trigger 노드에서 기본적으로 수신하는 오류 데이터는 다음과 같습니다:
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 |
|
Stop And Error를 사용하여 워크플로우 실행 실패 유발#
오류 워크플로우를 생성 및 설정하면 n8n은 실행이 실패할 때 이를 실행합니다. 일반적으로 이는 노드 설정의 오류나 워크플로우가 메모리 부족으로 실행되는 것과 같은 이유로 발생합니다.
원하는 상황에서 실행이 실패하도록 강제하기 위해 Stop And Error 노드를 워크플로우에 추가할 수 있으며, 오류 워크플로우를 트리거합니다.