Python으로 배우는 Apache Airflow 입문
Mike Metzger
Data Engineer
schedule로 실행 가능runningfailedsuccess

DAG 스케줄링 시 주요 속성:
start_date - DAG 실행을 처음 예약할 날짜/시간end_date - 새 DAG 인스턴스 실행을 중단할 날짜 (선택 사항)start_date와 end_date는 모두 datetime(year, month, day) 객체 사용: from pendulum import datetime
start_date=datetime(2026, 4, 10, tz="UTC")
schedule의 역할:
start_date와 end_date 사이에 적용cron 구문, 내장 프리셋, timedelta로 설정 가능
*는 모든 간격마다 실행 (예: 매 분, 매일)
0 12 * * * # Run daily at noon
* * 25 2 * # Run once per minute on February 25
0,15,30,45 * * * * # Run every 15 minutes
프리셋:
cron 동등 표현:
0 * * * *0 0 * * *0 0 * * 00 0 1 * *0 0 1 1 *Airflow의 특수 schedule 프리셋:
None - 스케줄 없음, 수동 트리거 전용@once - 한 번만 실행@continuous - 이전 실행 완료 즉시 재실행pendulum.duration 사용 가능duration(hours=6)duration(minutes=30)from pendulum import duration
@dag(
dag_id="example_dag"
schedule=duration(days=2)
)
schedule 매개변수 사용:@dag(
dag_id="example_dag",
schedule="0 12 * * *"
)
@dag(
dag_id="example_dag",
schedule="@daily"
)
DAG 스케줄링 시 Airflow 동작:
start_date + schedule 시점에 실행 예약'start_date': datetime(2026, 2, 25, tz="UTC")
'schedule': @daily
DAG 최초 실행 가능 시각: 2026년 2월 26일
Python으로 배우는 Apache Airflow 입문