airflow - DAG 未暂停后气流调度旧任务
问题描述
我暂停了一份工作 DAG 一个月。该作业每 10 分钟运行一次。现在我打开它,我可以看到气流自我暂停工作那天起就在尝试运行所有东西。
每次我清除任务列表时,都会安排更多任务。它可能有 2000 多个任务。
我希望 DAG 启动当前任务并丢弃过去的所有任务。
解决方案
我想catchup
应该解决你的挑战,这是DAG的一个论点:
带有 start_date、可能是 end_date 和 schedule_interval 的 Airflow DAG 定义了一系列间隔,调度程序将这些间隔变成单独的 DAG 运行和执行。默认情况下,调度程序将在自上次执行日期以来未运行(或已被清除)的任何时间间隔内启动 DAG 运行。这个概念被称为追赶。
如果您的 DAG 被编写为处理其追赶(即,不限于时间间隔,而是例如现在),那么您将需要关闭追赶。这可以通过在 DAG 中设置 catchup = False 来完成
dag = DAG(
'tutorial',
default_args=default_args,
start_date=datetime(2015, 12, 1),
description='A simple tutorial DAG',
schedule_interval='@daily',
catchup=False)
推荐阅读
- python-3.x - 应用程序引擎无法部署具有大型数据框的应用程序
- xamarin.forms - Xamarin ScrollView:HorizontalScrollBarVisibility 在 Android 上被忽略
- java - 如果 div 类出现在 id 之后,如何提取数据?
- mongodb - 在文档中组合两个数组
- java - 从各种 EditText 字段中获取文本
- javascript - 如何在点击时打开一个 javascript 三级可折叠菜单?
- c# - Unity如何相对于它的角度从另一个物体“反弹”一个物体?
- c# - 使用 asp.net core 2.2 自动完成来自带有键值对的大型静态 Json 文件的输入值
- android - 如何通过发送视图作为参数来识别布局?
- macos - 为什么我按 F1、F2 等时选择了这个功能键?