워크플로우의 오류 처리#
때때로 멋진 워크플로우를 만들었지만 실행하려고 하면 실패할 수 있습니다. 워크플로우 실행 실패는 노드를 잘못 구성한 단순한 문제부터 서드파티 서비스의 오류, 더 신비로운 오류까지 다양한 이유로 발생할 수 있습니다.
그러나 걱정하지 마세요. 이 수업에서는 오류를 해결하는 방법을 배워 워크플로우를 가능한 한 빨리 실행할 수 있도록 도움을 줄 것입니다.
실패한 워크플로우 확인하기#
n8n은 워크플로우 실행을 추적합니다.
워크플로우 중 하나가 실패하면 실행 로그를 확인하여 무엇이 잘못되었는지 볼 수 있습니다. 실행 로그에는 저장된 워크플로우의 최신 실행 시간, 상태, 모드 및 실행 시간이 나열됩니다.
왼쪽 패널에서 Executions를 선택하여 실행 로그를 엽니다.
목록에서 특정 실패한 실행을 조사하려면 해당 실행의 행에 마우스를 올렸을 때 나타나는 이름이나 View 버튼을 선택하세요.

이 작업은 읽기 전용 모드에서 워크플로우를 열며, 각 노드의 실행을 볼 수 있습니다. 이 표현은 워크플로우가 문제에 직면한 지점을 파악하는 데 도움이 될 수 있습니다.
실행 보기와 편집기 간의 전환하려면 페이지 상단의 Editor | Executions 버튼을 선택하세요.

오류 워크플로우 잡기#
실패한 워크플로우를 잡으려면, Error Workflow를 별도로 생성하고 Error Trigger node를 추가하세요. 이 워크플로우는 주 워크플로우 실행이 실패할 경우에만 실행됩니다.
Error Workflow에 추가 노드를 사용하여 실패한 워크플로우 및 오류에 대한 알림을 이메일이나 Slack 등을 통해 전달할 수 있습니다.
실패한 워크플로우의 오류 메시지를 수신하려면 Workflow Settings에서 Error Workflow를 Error Trigger node를 사용하는 오류 워크플로우로 설정하세요.
일반 워크플로우와 오류 워크플로우의 유일한 차이점은 후자가 Error Trigger node를 포함한다는 점입니다. 이 노드를 만들기 전에 다른 워크플로우의 지정된 오류 워크플로우로 설정하세요.
오류 워크플로우
- 워크플로우가 Error Trigger node를 사용할 경우, 워크플로우를 활성화할 필요가 없습니다.
- 워크플로우에 Error Trigger node가 포함되어 있다면, 기본적으로 해당 워크플로우는 자신의 오류 워크플로우를 사용합니다.
- 수동으로 워크플로우를 실행할 때 오류 워크플로우를 테스트할 수 없습니다. 오류 트리거는 자동 워크플로우에서 오류가 발생했을 때만 실행됩니다.
- 여러 워크플로우에 동일한 오류 워크플로우를 설정할 수 있습니다.
연습#
이전 장에서 여러 개의 작은 워크플로우를 만들었습니다. 이제 모니터링하고 싶은 그 중 하나를 선택하고 해당 워크플로우에 대한 오류 워크플로우를 만듭니다:
- 새로운 오류 워크플로우를 생성하세요.
- Error Trigger node를 추가하세요.
- 선택한 오류 트리거 노드에 Slack, Discord, Telegram 또는 Gmail 또는 더 일반적인 Send Email와 같은 통신 플랫폼을 연결하세요.
- 모니터링하려는 워크플로우에서 Workflow Settings를 열고 방금 만든 새로운 오류 워크플로우를 선택하세요. 이 워크플로우는 오류 워크플로우를 트리거하기 위해 자동으로 실행되어야 함을 유의하세요.
해결책을 보여주세요
이번 연습의 워크플로우는 다음과 같습니다:
노드의 구성을 확인하려면 아래 JSON 워크플로우 코드를 복사하여 편집기 UI에 붙여넣으세요:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
워크플로에서 예외 던지기#
워크플로 문제 해결의 또 다른 방법은 워크플로에 Stop and Error node를 포함하는 것입니다. 이 노드는 오류를 발생시킵니다. 오류 유형을 지정할 수 있습니다:
- 오류 메시지: 오류에 대한 사용자 정의 메시지를 반환합니다.
- 오류 객체: 오류 유형을 반환합니다.
Stop and Error node는 워크플로의 마지막 노드로만 사용 가능합니다.
오류를 던지는 시점
Stop and Error node로 예외를 던지는 것은 노드에서의 데이터(또는 데이터에 대한 가정)를 확인하고 사용자 정의 오류 메시지를 반환하는 데 유용합니다.
제3자 서비스로부터 데이터를 처리하는 경우 다음과 같은 문제에 직면할 수 있습니다:
- 잘못 형식화된 JSON 출력
- 잘못된 유형의 데이터 (예: 숫자 데이터가 비숫자 값을 가진 경우)
- 누락된 값
- 원격 서버의 오류
이러한 유형의 유효하지 않은 데이터가 즉시 워크플로를 실패하게 하지는 않을 수 있지만, 나중에 문제를 일으킬 수 있으며, 경우에 따라 원인 오류를 추적하기 어려워질 수 있습니다. 그렇기 때문에 문제가 있을 수 있다고 아는 시점에서 오류를 던지는 것이 더 좋습니다.
