Macro Concurrent 단계
호출자 쪽 드라이버 테이블에서 선택한 각 행마다 매크로를 한 번씩 실행합니다. 각 하위 호출은 Macro Run 단계와 동일하게 동작합니다.
- 새로운
run_id를 부여받습니다. - 자체 스크래치 스키마(
macrorun_<run_id>)에서 실행됩니다. - 호출자로부터 테이블, 스칼라, 차원 바인딩을 전달받습니다.
- 하위 호출이
done또는warn상태로 끝나면 선언된 출력 테이블을 호출자 쪽 대상으로 복사합니다. - 하위 호출이 완료, 실패 또는 중지되면 스크래치 스키마를 삭제합니다.
드라이버 테이블의 행마다 기간, 엔터티, 고객, 파일 배치, 지역 하나씩처럼 동일한 재사용 프로세스를 여러 행에 대해 실행해야 할 때 Macro Concurrent 단계를 사용하십시오.
드라이버
섹션 제목: “드라이버”- 테이블 — 매크로 호출 하나당 한 행씩 담고 있는 호출자 쪽 테이블입니다.
- 동시 실행 — 동시에 활성 상태로 유지할 하위 매크로 호출의 최대 개수입니다.
테이블 데이터 선택
섹션 제목: “테이블 데이터 선택”각 하위 호출에 필요한 드라이버 테이블의 열을 선택합니다. 이 열은 매크로 바인딩과 드라이버 필터에서 사용할 수 있습니다.
드라이버 필터
섹션 제목: “드라이버 필터”필요한 경우 드라이버 테이블에 필터 규칙을 추가합니다. 조건에 맞는 행만 하위 매크로 호출을 시작합니다.
매크로
섹션 제목: “매크로”- 프로젝트 — 매크로가 들어 있는 프로젝트입니다. v1에서는 호출자와 같은 프로젝트여야 합니다.
- 매크로 — 선택한 각 드라이버 행마다 호출할 매크로 워크플로입니다.
입력 바인딩
섹션 제목: “입력 바인딩”입력 바인딩은 호출자 쪽 데이터를 매크로에 선언된 입력에 연결합니다.
테이블 입력 바인딩:
- 호출자 소스 테이블 — 하위 호출의 스크래치 스키마로 복사할 테이블입니다.
- 매크로 대상 포트 — 복사된 테이블을 받을 매크로 입력 테이블 이름 또는 포트입니다.
- 입력 복사 필터 — 복사 시 적용하는 선택적
WHERE절입니다. - 열 JSON — 선택한 열만 복사해야 할 때 지정하는 선택적 JSON 열 프로젝션입니다.
스칼라 및 차원 입력 바인딩:
- 매크로 변수 — 하위 호출에 대해 설정할 매크로 쪽 변수입니다.
- 값 — 바인딩할 리터럴 값, 호출자 변수 참조 또는 드라이버 열 값입니다.
스칼라 및 차원 입력은 테이블 복사 전에 설정되므로 테이블 필터에서 해당 변수를 참조할 수 있습니다.
출력 바인딩
섹션 제목: “출력 바인딩”출력 바인딩은 매크로 결과 테이블을 호출자 쪽 대상으로 다시 복사합니다.
- 매크로 소스 포트 — 복사해 올 매크로 출력 테이블 이름 또는 포트입니다.
- 호출자 대상 테이블 — 복사해 넣을 호출자 쪽 테이블입니다.
- 열 JSON — 복사 출력 시 사용하는 선택적 JSON 열 프로젝션입니다.
모든 드라이버 행은 서로 다른 대상 테이블로 확정되어야 하므로, 대상 이름에 드라이버 열을 포함하십시오(예: results_{region}). 복사 출력은 대상에 추가하지 않고 대상을 교체하므로, 두 행이 같은 대상으로 확정되면 두 번째 행의 결과만 남게 됩니다. 이러한 구성은 단계가 아무것도 시작하기 전에 거부됩니다. 결과를 하나의 테이블로 합치려면 행별 테이블을 합집합으로 결합하는 단계를 하위에 추가하십시오.
중지된 하위 호출에서는 부분 결과가 호출자의 영구 테이블에 기록되지 않도록 복사 출력을 건너뜁니다.
하위 호출이 응답하지 않을 때
섹션 제목: “하위 호출이 응답하지 않을 때”하위 호출은 완료될 때 자신의 결과를 보고하므로, 머신이 예고 없이 중단된 하위 호출은 아무것도 보고하지 않습니다. 이 단계는 그런 호출을 무한정 기다리는 대신, 아직 기다리고 있는 각 하위 호출이 살아 있는지 확인합니다.
- 시작된 하위 호출은 진행 징후가 없는 동안에만 대략 1분에 한 번 확인됩니다. 오래 걸리는 단일 단계를 처리 중인 하위 호출은 해당 단계가 걸리는 시간 동안 진행 징후가 없지만, 실제로 계속 실행 중인 동안에는 그대로 둡니다.
- 수락되었지만 15분 안에 시작되지 않은 하위 호출은 시작된 적이 없는 것으로 간주합니다. 이 시간에는 스케줄링과 이미지 풀이 포함되며, 매크로 자체의 작업 시간은 포함되지 않습니다.
위 두 경우 중 하나에 해당하는 하위 호출은 중지되고 스크래치 스키마가 삭제되며, 단계는 마지막에 해당 호출, 마지막으로 보고한 상태, 마지막으로 보고한 시각을 명시하여 실패합니다.
다른 하위 호출은 영향을 받지 않습니다. 나머지 호출은 끝까지 실행되고 출력 테이블도 정상적으로 기록되므로, 많은 호출 중 하나가 응답하지 않더라도 나머지 결과는 버려지지 않습니다. 실패 메시지에는 완료하지 못한 호출만 명시됩니다.
확인 자체에 응답을 받지 못하는 경우(예: 플랫폼에 일시적으로 연결할 수 없는 경우) 하위 호출은 계속 실행 중인 것으로 간주하고 다음 확인 주기에 다시 확인합니다.
중지 동작
섹션 제목: “중지 동작”상위 Macro Concurrent 단계를 중지하면 활성 상태의 모든 하위 매크로 호출이 중지되고 각 활성 실행 스키마가 삭제됩니다. 시작되지 않은 하위 호출은 상위 단계가 중지된 후 시작되지 않습니다.
관련 항목
섹션 제목: “관련 항목”- 매크로 만들기 — 워크플로를 매크로로 선언하고 포트 계약을 정의합니다.
- Macro Run 단계 — 매크로를 한 번 호출합니다.