Trigger
Airflow는 기본적으로 스케쥴링을 통해 Dag를 실행할 수 있는데, 스케쥴링을 통하지 않고 즉시 DAG run을 만들어 실행하는 방법을 Trigger라고 한다.
Trigger는 Web UI 또는 CLI를 통해 실행할 수 있다.
Web UI
DAG의 오른쪽 상단의 실행 버튼을 클릭하여 트리거할 수 있다. Trigger DAG를 선택하면 매개변수 없이 실행한다.
만약 전달해야 하는 매개변수가 있다면 Trigger DAG w/ config를 선택한 후, JSON 형식으로 전달할 데이터를 작성한다.
CLI
CLI로 트리거할 때는 Web UI를 사용할 때와 다르게 실행 시점을 지정할 수도 있다.
airflow dags trigger [-h] [-c CONF] [-e EXEC_DATE] [-r RUN_ID] [-S SUBDIR]
dag_id
# 예시
airflow dags trigger \
-e 2022-10-08T02:00:00 \
-r scheduled__2022-10-08T02:00:00+00:00 \
test_dag
또한 -r 옵션을 이용해 DAG run을 식별할 정보를 추가로 지정할 수 있다. 참고로 backfill과 같이 수동으로 생성한 DAG run은 클리어 시 자동으로 재실행되지 않는데, scheduled로 지정하면 clear 시 자동으로 재실행된다.
매개변수 전달이 필요할 때는 -c 옵션 뒤에 전달할 데이터를 JSON 문자열로 작성한다.
airflow dags trigger \
--conf '{"conf1": "value1"}' \
example_parameterized_dag
참고 문서
https://airflow.apache.org/docs/apache-airflow/stable/cli-and-env-variables-ref.html#trigger
https://heumsi.github.io/apache-airflow-tutorials-for-beginner/getting-started/04-running-a-dag/