N8N의 settings에 가면 어떤 노드든지 Execute Once라는 항목이 있고 스위치로 되어 있다.
마우스를 올리면 아래와 같은 메시지가 설명으로 뜬다.
If active, the node executes only once, with data from the first item it receives
이는 병렬로 노드가 실행되어 출력 아이템마다 노드가 실행되는 참사를 막을 때 내가 애용하는데
애용하는 예는 ai노드나, http노드에 켤 경우가 많다.
근데..
어떤 경우는 이걸 쓰면 뭔가 안되는 경우가 생긴다.
예를 들면 code노드에 내가 실수로 저걸 켜놓은 적이 있는데
예상치 못하게 이상한 결과가 나와서
(여러개 아이템이 테이블에 나와서 여러 행이 나와야 하는데 한개행만 이상하게 출력되는
결과로 왜 이러지 한 적이 있다)
헤매다가 저걸 엉뚱하게 켜놔서 그렇다는 것을 깨달은적이 있다.
이게 어떤 성질을 가진 것인지 전혀 모르고 그냥 무지성으로 써서 저렇게 헤매게 된거였다.
아래 설명을 보자.
구글에 검색하면 아래처럼 설명이 나온다.
n8n 에서 Execute Once 설정첫 번째 입력 항목의 데이터만 사용하여 노드가 한 번만 실행되도록 강제하고, 추가 항목이나 반복 루프는 무시합니다.
일반적으로 n8n은 수신하는 각 항목마다 노드를 한 번씩 실행합니다. ' 한 번만 실행' 옵션을 켜면 이러한 동작이 중지됩니다.
사용하면 어떤 일이 일어날까요?
단일 실행: 노드는 들어오는 모든 데이터 항목을 반복 처리하는 대신 한 번만 실행됩니다.
첫 번째 항목만:
입력 목록의 맨 첫 번째 항목에서만 데이터를 처리하거나 가져옵니다.무시되는 데이터:
노드에 전달되는 추가 행이나 데이터 항목은 해당 노드에서 건너뛰어집니다.
용도중복 방지:
대량의 데이터가 들어올 때 슬랙 알림, 문자 메시지 또는 이메일 전송과 같은 후속 작업이 여러 번 실행되는 것을 방지합니다.
요약 조치: 각 행에 대한 개별 알림을 보내는 대신 전체 데이터 세트에 대한 단일 요약 보고서를 보냅니다.
타겟팅 기본값:
목록에서 최상위 결과 또는 첫 번째 항목만 선택하여 구성 또는 설정 단계에 적용합니다.원하시면 말씀해 주세요:어떤 특정 노드를 구성하려고 하시는 건가요?
입고되는 상품이 몇 개나 되나요?'한 번 실행' 이 적합한 선택인지, 아니면 다른 논리 단계가 필요한지 결정하는 데 도움을 드릴 수 있습니다 .