添加重试
您注意到某个特定的 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()