气流:重试到指定时间

时间:2019-02-21 15:00:29

标签: python airflow

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

我目前有一份工作始于7h,不幸的是重试= 8,间隔15分钟(8 * 15m = 2h),我的工作花费了更多时间,因此,在9h之后任务失败了,这很困难截止日期。

我怎样才能使它每15分钟重试一次,但是如果在9h之后失败,那么人类可以看一下这个问题吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

在创建任务时,可以使用execution_timeout参数来控制它在超时之前将运行多长时间。因此,如果您在7AM运行任务,并希望在9AM结束任务,则将超时设置为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)