[Apache Airflow] ExternalTaskSensor

less than 1 minute read


ShortCircuitOperator

  • 다른 Dag의 task 실행 여부를 바탕으로 Dag 내의 Task 실행 원할 때 사용
  • execution_date_fn의 경우 현재 task를 시작하는 시간으로부터 sensing하는 task의 시간의 차이를 뺴줘야 함
...
from airflow.sensors.external_task_sensor import ExternalTaskSensor
...

...
wordcount_sensor = ExternalTaskSensor(
    task_id="wordcount_sensor",
    external_dag_id="kid_news_wordcount",
    external_task_id="kid_wordcount",
    execution_date_fn=lambda x: x - timedelta(minutes=30),
    mode='reschedule',
    timeout=3600
)
...

...
wordcount_sensor >> kid_news_modeling

ref