효과의 실행 순서와 보장
서로 다른 자동화는 독립적으로 실행합니다. 동시에 발동하면 병렬로 실행할 수 있으며 자동화 사이의 순서는 정해져 있지 않습니다. 한 자동화 안의 효과는 순차 또는 병렬로 구성할 수 있습니다.
순차 실행
Action, Logic과 Function 효과를 순서대로 실행할 수 있습니다. 이 유형의 효과가 적어도 두 개 있어야 순차 실행을 선택할 수 있으며, 그렇지 않으면 효과는 병렬로 실행합니다. Notification 효과는 이 순차 체인에 포함하지 않습니다.
순차 실행은 객체 분할 설정과 함께 적용합니다. 객체 40개, 배치 크기 20개, Action 1과 Action 2가 있다면 다음 순서입니다.
- 첫 20개에 Action 1을 실행합니다.
- 다음 20개에 Action 1을 실행합니다.
- 첫 20개에 Action 2를 실행합니다.
- 다음 20개에 Action 2를 실행합니다.
병렬 설정에서는 첫 20개의 Action 1과 Action 2를 병렬로 실행하고, 다음 20개도 두 액션을 병렬로 실행합니다.
실패의 영향
순차 실행에서 한 객체의 효과가 실패하면 그 객체에 대한 후속 효과는 실행하지 않습니다. 대체 효과가 성공해도 이 순차 체인은 다시 진행하지 않습니다. 같은 실행에서 다른 객체가 성공했다면 성공한 객체는 다음 효과로 진행합니다.
병렬 효과는 독립적으로 실행하므로 한 효과의 실패가 다른 효과를 중단시키지 않습니다. 이벤트 전체를 발동 순서대로 처리하는 Queue effect executions는 이벤트 안의 효과 순서와 별도 설정입니다.
같은 객체의 연속 편집
이 설정은 데이터 소스 갱신이 아니라 객체 편집으로 자동화가 발동하는 경우에 적용합니다.
- 실시간 감시는 동시에 들어온 편집 묶음마다 별도 이벤트를 발동합니다. 각 묶음 안에서는 효과 동시성 설정을 따릅니다.
- 스케줄 감시는 이전 평가 이후의 편집을 하나의 트리거로 합칩니다.
실시간 감시에서 스케줄 방식처럼 합치려면 Condition의 Evaluation frequency > Advanced settings에서 Process edits on the same object sequentially를 끕니다.
최소 한 번 실행
효과는 최소 한 번 실행(At-least-once) 의미론을 따릅니다. 드물게 같은 트리거 이벤트에서 동일 효과가 여러 번 실행될 수 있으며, 정확히 한 번 실행을 보장하지 않습니다.
액션과 함수에는 다음 방식을 적용할 수 있습니다.
- 여러 번 수행해도 같은 결과를 남기는 멱등 연산을 사용합니다.
- 일관된 식별자로 같은 요청을 구분하고, 이미 처리했는지 확인합니다.
- 중복 제출을 처리할 수 있도록 데이터 모델을 구성합니다.
고정된 식별자를 사용하더라도 외부 시스템 호출과 알림까지 자동으로 중복 제거되는 것은 아닙니다. 각 부수 효과가 다시 수행되어도 되는지 판단해야 합니다. 분산 실행과 일시 오류의 재시도 때문에 중복 가능성은 남습니다.