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 には3つの特殊な schedule プリセットがあります:
None - スケジュールなし(手動トリガー専用)@once - 1回のみ実行@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 入門