python - 气流:重试到特定时间
问题描述
我需要创建一个需要绝对在 9 小时之前运行的 Airflow 作业。
我目前的工作从 7 小时开始,重试次数 = 8,间隔 15 分钟(8 * 15 米 = 2 小时),不幸的是,我的工作需要更多时间,因此,任务在 9 小时后失败,这是硬期限。
我怎样才能让它每 15 分钟重试一次,但如果在 9 小时之后失败,那么人们可以看看这个问题?
谢谢你的帮助
解决方案
您可以在创建任务时使用 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)
推荐阅读
- java - 将字符串数据分配给 URL 对象
- google-app-engine - Cloud Tasks 客户端忽略重试配置
- r - 错误:响应和预测变量必须是相同长度的向量
- java - 如何将 react-native-cookies 添加到新版本的 react-native?
- java - 在使用 Jagacy jar 自动化大型机应用程序时,收到错误消息,指出“KDB16104I 应用程序尚未定义到 CICS”
- python - python 3.6中日期时间格式的时区偏移
- excel - 基于 2 个单元格的开始和结束值的数字序列
- php - 如何在 Symfony 表单中设置下拉列表的子元素样式
- r - 使用 R 访问 Athena - 联合帐户
- c - 数组名是C语言中的指针吗?