我需要创建一个绝对要在9小时之前运行的Airflow作业。
我目前有一份工作始于7h,不幸的是重试= 8,间隔15分钟(8 * 15m = 2h),我的工作花费了更多时间,因此,在9h之后任务失败了,这很困难截止日期。
我怎样才能使它每15分钟重试一次,但是如果在9h之后失败,那么人类可以看一下这个问题吗?
感谢您的帮助
答案 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)