首页 > 解决方案 > 气流:重试到特定时间

问题描述

我需要创建一个需要绝对在 9 小时之前运行的 Airflow 作业。

我目前的工作从 7 小时开始,重试次数 = 8,间隔 15 分钟(8 * 15 米 = 2 小时),不幸的是,我的工作需要更多时间,因此,任务在 9 小时后失败,这是硬期限。

我怎样才能让它每 15 分钟重试一次,但如果在 9 小时之后失败,那么人们可以看看这个问题?

谢谢你的帮助

标签: pythonairflow

解决方案


您可以在创建任务时使用 execution_timeout 参数来控制它在超时之前将运行多长时间。因此,如果您在上午 7 点运行任务,并希望它在上午 9 点结束,则将超时设置为 2 小时。以下是 Airflow 文档中的信息

aggregate_db_message_job = BashOperator(
    task_id='aggregate_db_message_job',
    execution_timeout=timedelta(hours=2),
    pool='ep_data_pipeline_db_msg_agg',
    bash_command=aggregate_db_message_job_cmd,
    dag=dag)
aggregate_db_message_job.set_upstream(wait_for_empty_queue)

推荐阅读