안녕하세요! n8n 초급 강좌 7번째 비디오에 오신 여러분을 환영합니다. 이번 영상에서는 워크플로의 과거 실행이 어떻게 저장되는지, 그리고 워크플로에서 발생하는 오류를 어떻게 효과적으로 처리하는지에 대해 자세히 알아보겠습니다. 특히 오류 처리는 워크플로 자동화의 안정성을 확보하는 데 매우 중요한 기술이므로, 이번 기회에 확실히 익혀두시길 바랍니다.
n8n 워크플로 실행 기록: 과거를 통해 현재를 이해하다
우선 n8n에서 워크플로 실행이 어떻게 저장되는지부터 살펴보겠습니다. 지금까지 우리는 주로 수동으로 워크플로를 실행해 왔습니다. 이전 비디오들에서는 "워크플로 실행" 또는 "단계 테스트" 버튼을 눌러 워크플로를 직접 실행했죠. 하지만 워크플로를 활성화하면 자동화가 시작되어, 우리가 직접 실행 버튼을 누르지 않아도 백그라운드에서 워크플로가 자동으로 실행됩니다.
이렇게 백그라운드에서 실행된 워크플로의 기록은 어디서 확인할 수 있을까요? 실행 로그는 워크플로의 작동 상태를 확인하고, 문제 발생 시 디버깅에 필수적인 정보를 제공하기 때문에 매우 중요합니다. 바로 실행 로그입니다. "모든 실행"을 클릭하면 실행 로그에 접속할 수 있으며, 이곳에서 모든 워크플로 실행 기록을 확인할 수 있습니다.
기본적으로 성공적으로 완료된 프로덕션 실행과 실패한 프로덕션 실행 기록이 모두 저장됩니다. 프로덕션 실행이란 워크플로를 활성화한 상태에서 자동으로 실행된 워크플로를 의미합니다. 반면, 수동으로 실행한 워크플로는 기본적으로는 저장되지 않습니다. 하지만 워크플로별로 수동 실행 로깅을 활성화할 수도 있습니다.
실행 로그에서는 워크플로 상태, 날짜 범위, 실행 데이터 등을 기준으로 실행 기록을 정렬할 수 있습니다. 실행 데이터 저장 방법은 고급 과정에서 더 자세히 다루겠지만, 간단히 말해 워크플로 실행 시 각 노드의 입력 및 출력 데이터를 저장하는 기능입니다.
실행 로그에서 개별 실행 기록에 접속하면, 특정 실행에 대한 자세한 정보를 확인할 수 있습니다. 예를 들어, 특정 노드에서 데이터를 처리하는 데 소요된 시간, 입력 데이터가 기대했던 형식과 일치했는지 여부, 또는 실행 중 발생한 경고 메시지를 검토할 수 있습니다. 이를 통해 워크플로의 병목현상을 파악하거나, 오류를 사전에 방지하는 조치를 취할 수 있습니다. 예를 들어, 활성화된 스케줄 트리거, 각 노드의 실행 결과 등을 볼 수 있습니다. 여기에는 각 노드에서 읽어들인 데이터, 실행 과정, 최종 상태 등이 포함됩니다. 과거 실행 기록은 정적 데이터이기 때문에 수정할 수는 없지만, 워크플로를 디버깅하거나 수정, 검토할 때 매우 유용합니다. 과거 실행 기록을 살펴보면서 워크플로가 어떻게 작동했는지, 어떤 데이터가 처리되었는지 등을 쉽게 파악할 수 있기 때문입니다.
각 노드를 더블 클릭하면 해당 노드의 입력 및 출력 데이터, 그리고 모든 노드 설정을 확인할 수 있습니다. 만약 노드에 오류가 발생했다면, 해당 노드를 더블 클릭하여 오류에 대한 자세한 정보를 얻을 수도 있습니다.
워크플로 오류 처리: 실패를 성공으로 바꾸는 기술
워크플로를 자동화하다 보면 예상치 못한 오류가 발생할 수 있습니다. 워크플로 설정이 최적이 아니거나, 입력 데이터가 잘못된 형식일 수도 있습니다. 이러한 오류는 워크플로의 실패로 이어질 수 있습니다. 워크플로가 실패하는 데에는 여러 가지 이유가 있을 수 있으며, 어떤 종류의 오류가 발생했는지, 그리고 어떻게 수정해야 하는지를 이해하는 것이 중요합니다.
워크플로 오류를 처리하는 가장 중요한 방법은 바로 오류 워크플로를 사용하는 것입니다. 다른 오류 처리 방법과 비교했을 때, 오류 워크플로는 오류 발생 시 자동으로 트리거되어 실시간으로 문제를 감지하고 대응할 수 있다는 점에서 차별화됩니다. 오류 워크플로는 워크플로 내에서 오류가 발생하는 즉시 실행되는 워크플로입니다. 이 워크플로를 사용하면 오류가 발생한 모든 워크플로에 대해 알림을 받을 수 있으며, 이를 통해 워크플로를 디버그하고 수정해야 할 시점을 알 수 있습니다. 따라서 모든 새로운 워크플로를 만들 때 오류 워크플로를 함께 구성하는 것이 좋습니다.
n8n 인스턴스에는 하나 이상의 오류 워크플로를 설정할 수 있습니다. 예를 들어, 매일 오전 8시에 Google Sheets에서 연락처 데이터를 읽어 CRM(예: Salesforce)을 업데이트하는 워크플로가 있다고 가정해 봅시다. 만약 시트의 데이터 중 이메일 필드가 비어 있는 항목이 있다면 Salesforce 노드에서 오류가 발생할 것입니다. 이러한 경우 오류 워크플로가 자동으로 트리거되어, 해당 오류에 대한 정보를 우리에게 알려줍니다.
오류 워크플로를 트리거하는 또 다른 방법은 "중지 및 오류" 노드를 사용하는 것입니다. 이 노드는 실행될 때마다 오류 메시지를 발생시킵니다. 특정 조건이 충족되지 않을 때, 즉 예외적인 경우에 워크플로를 중단시키고 오류를 발생시키기 위해 사용됩니다. 예를 들어, 웹훅을 통해 받은 이메일 데이터가 유효하지 않은 경우, 이 노드를 사용하여 오류를 발생시킬 수 있습니다.
"중지 및 오류" 노드는 오류 메시지를 사용자 정의할 수 있으며, 트리거되면 워크플로를 중지시키거나, 오류 출력을 사용하여 계속 진행할 수도 있습니다. 이 노드의 동작은 설정에서 변경할 수 있습니다.
오류 워크플로 구축: 실제 예시
오류 워크플로는 오류 트리거 노드를 사용하여 만듭니다. 오류 트리거 노드는 워크플로와 관련된 모든 정보를 출력합니다. 예를 들어, 워크플로 이름, 워크플로 ID, 실행 ID, 오류가 발생한 노드에 대한 정보 등이 포함됩니다. 이 정보를 바탕으로 우리는 오류가 발생한 원인을 신속하게 파악할 수 있습니다.
일반적으로 오류 워크플로는 Slack, WhatsApp, Teams 등의 커뮤니케이션 도구를 사용하여 오류를 알리는 방식으로 구축됩니다. 이렇게 하면 n8n에 접속할 수 있는 팀 구성원이 워크플로에 오류가 발생했음을 확인하고, 워크플로를 빠르게 디버그하고 수정할 수 있습니다.
예를 들어, Slack 메시지를 통해 오류를 알리는 오류 워크플로를 구축해 보겠습니다. 이 외에도 Microsoft Teams, WhatsApp, 이메일 알림과 같은 다양한 도구를 활용할 수 있습니다. 이러한 옵션들은 팀의 커뮤니케이션 도구와 통합하여 오류를 효율적으로 전달할 수 있도록 도와줍니다. 오류 트리거 노드를 추가하고, 슬랙 노드를 추가하여 특정 채널에 메시지를 보낼 수 있습니다. 메시지에는 워크플로 이름, 실행 URL, 오류 메시지 등의 정보를 포함하여 오류 발생 원인을 쉽게 파악할 수 있도록 구성합니다.
이 포스팅은 유튜브 채널 '@n8n-io'의 콘텐츠를 기반으로 작성되었습니다. n8n Academy는 자동화 및 워크플로우 설계의 핵심 개념을 알기 쉽게 설명하는 채널로, 실무에 바로 적용할 수 있는 유용한 팁들을 제공합니다.
실제 워크플로에 오류 처리 추가하기
이제 이전 비디오에서 다뤘던 워크플로를 가져와서 오류 처리를 추가해 보겠습니다. 이 워크플로는 웹훅을 통해 입력된 데이터를 기반으로 메시지를 보내는 워크플로입니다. 이 워크플로에 잠재적인 오류 두 가지를 추가로 처리해 보겠습니다.
첫 번째 잠재적 오류는 이메일의 유효성 문제입니다. 예를 들어, 이메일 주소가 "user@example.com" 형식인지 확인하기 위해 정규식을 사용할 수 있습니다. 간단한 Python 코드로는 다음과 같이 구현할 수 있습니다: import re; re.match(r'^[^@]+@[^@]+\.[^@]+$', email)를 사용하여 이메일 유효성을 검사합니다. 이메일이 올바른 형식인지 확인하기 위해 이메일에 "@" 기호가 포함되어 있는지 확인하는 기본적인 검사를 추가합니다. 만약 이메일이 유효하지 않으면 "중지 및 오류" 노드를 사용하여 오류를 발생시킵니다.
두 번째 잠재적 오류는 이벤트 유형 문제입니다. 워크플로에서 처리하는 이벤트 유형이 유효한지 확인하기 위해 스위치 노드를 사용하여 이벤트 유형을 검사합니다. 만약 이벤트 유형이 유효하지 않으면 "중지 및 오류" 노드를 사용하여 오류를 발생시킵니다.
이렇게 워크플로에 오류 처리를 추가하면, 유효하지 않은 이메일 또는 이벤트 유형으로 인해 워크플로가 실패하는 경우를 처리할 수 있게 됩니다. 오류가 발생하면 오류 워크플로가 트리거되어 해당 정보를 우리에게 알려줍니다.
"중지 및 오류" 노드 설정: 유연한 오류 처리
마지막으로, "중지 및 오류" 노드의 설정에 대해 한 가지 더 언급하겠습니다. 설정에서 오류 시 워크플로가 어떻게 처리될지를 선택할 수 있습니다. 기본적으로 워크플로는 중지되지만, 오류가 발생하더라도 워크플로를 계속 진행하고 싶다면, "계속" 또는 "오류 출력을 사용하여 계속" 옵션을 선택할 수 있습니다. 이 설정은 각 노드별로 구성할 수 있습니다.
마무리
이번 비디오에서는 n8n 워크플로 실행 기록, 오류 처리, 그리고 오류 워크플로 구축 방법에 대해 알아보았습니다. 오류 처리는 워크플로 자동화의 안정성을 높이는 데 필수적인 기술입니다. 이번 강의를 통해 여러분의 워크플로가 더욱 안정적이고 효율적으로 운영되기를 바랍니다. 다음 비디오에서는 워크플로 디버깅 및 재시도 방법에 대해 자세히 알아보겠습니다. 다음 비디오에서 다시 만나요!
AI와 함께 성장하는 블로거들의 커뮤니티에 초대합니다!
최신 AI 트렌드부터 실전 활용법까지, 함께 배우고 나누며 성장해요.
지금 참여하시고 새로운 가능성을 발견하세요!
AI를 활용하는 블로거들의 공간
AI와 함께 성장하는 블로거들의 커뮤니티에 초대합니다!
최신 AI 트렌드부터 실전 활용법까지, 함께 배우고 나누며 성장해요.
지금 참여하시고 새로운 가능성을 발견하세요!
AI를 활용하는 블로거들의 공간






