Airflow DAG `ingest_intl_template_style_clustering`가 선행 DAG `ingest_intl_template`의 완료를 ExternalTaskSensor로 감지해 트리거되는 조건과 설정값을 정리한다.
개요
Airflow DAG ingest_intl_template_style_clustering은 국제(intl) 템플릿의 스타일 클러스터링을 처리한다. 이 문서는 이 DAG가 선행 DAG 완료를 어떻게 감지해 트리거되는지, 그 트리거 조건의 구체적인 설정값을 정리한다.
현재 상태 / 정의
이 DAG는 선행 DAG(ingest_intl_template)가 완료되어야 트리거된다. ExternalTaskSensor로 선행 DAG의 end 태스크가 success 상태에 도달했는지를 감지한다.
상세 내용
트리거 조건 — ExternalTaskSensor 설정
wait_for_template_download = ExternalTaskSensor(
task_id="wait_for_template_download",
external_dag_id="ingest_intl_template",
external_task_id="end",
allowed_states=["success"],
failed_states=["failed", "upstream_failed"],
execution_delta=timedelta(hours=2),
poke_interval=60,
timeout=7200,
mode="reschedule",
)
- 감지 대상:
ingest_intl_templateDAG의end태스크 - 성공 판정:
allowed_states=["success"] - 실패 판정:
failed_states=["failed", "upstream_failed"] - 실행 시간차(
execution_delta): 2시간 — 선행 DAG 기준 2시간 전 스케줄의 실행을 바라본다 - 폴링 주기(
poke_interval): 60초 - 타임아웃(
timeout): 7200초(2시간) - 모드(
mode):reschedule— 대기 중 워커 슬롯을 점유하지 않고 스케줄러에 반납한다
적용 범위 / 제약
이 트리거 조건은 ingest_intl_template_style_clustering DAG에만 적용된다. 선행 DAG ingest_intl_template가 실패하거나(failed, upstream_failed) 타임아웃(7200초) 내에 완료되지 않으면 이 DAG는 트리거되지 않는다.