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 * * * # 每天中午執行
* * 25 2 * # 2 月 25 日每分鐘執行一次
0,15,30,45 * * * * # 每 15 分鐘執行
預設值:
對應的 cron:
0 * * * *0 0 * * *0 0 * * 00 0 1 * *0 0 1 1 *Airflow 有三個特殊的 schedule 預設:
None:永不排程,用於手動觸發的 Dags@once:只排程一次@continuous:前一次完成後立刻執行pendulum.durationduration(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
最早可於 2026 年 2 月 26 日開始執行該 Dag
Python 中的 Apache Airflow 入門