加入重試機制
你注意到有一個 Dag 常常在擷取來源資料的任務上失敗。更讓人困擾的是,過幾分鐘再執行同一個任務卻又能成功。瞭解了 Airflow Dag 的重試功能之後,你決定在這個任務上加上重試機制,避免每次都得手動重新啟動。
dag、task 與 timedelta 都已為你匯入。
本練習屬於課程
Python 中的 Apache Airflow 入門
練習說明
- 將
extract_data任務設定為在失敗前重試 3 次。 - 在
extract_data任務的每次重試之間加入 10 分鐘的延遲。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():
# Set retries and retry delay on extract_data
@task(____=3, ____=____(minutes=10))
def extract_data():
print("Extracting data from source...")
@task()
def process_source_data():
print("Now processing data...")
extract_data() >> process_source_data()
etl_pipeline()