레퍼런스노드 레퍼런스액션액션제어제어
반복
여러 항목에 대해 같은 액션을 반복합니다.
개요
| 항목 | 내용 |
|---|---|
| 카테고리 | 제어 |
| 용도 | 배열 순회 |
| 출력 | 각 반복의 결과 |
구조
입력: 미완료 태스크 목록 (5개)
반복: 각 태스크에 대해
└── 담당자에게 리마인더 발송
결과: 5명에게 각각 리마인더 발송설정 옵션
| 옵션 | 설명 | 필수 |
|---|---|---|
| 반복 대상 | 순회할 배열 | ✅ |
| 반복 액션 | 각 항목에 실행할 액션 | ✅ |
| 병렬 실행 | 동시 실행 여부 | |
| 최대 반복 | 최대 반복 횟수 제한 |
반복 변수
| 변수 | 설명 |
|---|---|
{{loop.current}} | 현재 항목 |
{{loop.index}} | 현재 인덱스 (0부터) |
{{loop.total}} | 전체 항목 수 |
{{loop.isFirst}} | 첫 번째 항목 여부 |
{{loop.isLast}} | 마지막 항목 여부 |
활용 예시
일괄 알림
트리거: 일정 (매일 오전 9시)
액션 1: 행 조회 (마감 오늘인 태스크)
액션 2: 반복 ({{actions.query.rows}})
└── 반복 액션: 슬랙 메시지
└── 메시지: "{{loop.current.담당자}}님, {{loop.current.제목}} 마감입니다."일괄 상태 변경
트리거: 버튼 클릭 (일괄 완료)
액션 1: 행 조회 (선택된 항목들)
액션 2: 반복 ({{actions.query.rows}})
└── 반복 액션: 행 수정
└── 상태: "완료"
└── 완료일: {{now}}외부 API 일괄 호출
트리거: 일정 (매시간)
액션 1: 행 조회 (동기화 필요한 항목)
액션 2: 반복 ({{actions.query.rows}})
└── 반복 액션: HTTP 요청
└── URL: https://api.external.com/sync/{{loop.current.id}}관계 데이터 처리
트리거: 프로젝트 완료
액션 1: 행 조회 (프로젝트의 모든 태스크)
액션 2: 반복 ({{actions.query.rows}})
└── 반복 액션: 행 수정
└── 상태: "완료"병렬 vs 순차
순차 실행 (기본)
- 하나씩 차례대로 실행
- 이전 결과를 다음에서 사용 가능
- 안전하지만 느림
병렬 실행
- 동시에 여러 개 실행
- 빠르지만 순서 보장 안됨
- 외부 API 제한 주의
모범 사례
최대 반복 설정
무한 루프 방지를 위해 최대 반복 횟수를 설정하세요.
최대 반복: 100에러 처리
반복 중 하나가 실패해도 다른 항목은 계속 처리됩니다.
대량 데이터 주의
- 1000개 이상은 배치 처리를 고려하세요
- 외부 API는 요청 제한을 확인하세요
진행 상황 로깅
대량 처리 시 진행 상황을 로깅하면 디버깅에 도움됩니다.
조건: {{loop.index}} % 100 = 0
└── 로그: "{{loop.index}} / {{loop.total}} 처리 완료"