Airflow:从新的时间表开始重新 运行 DAG
Airflow: Re-run DAG from beginning with new schedule
背景故事:我每天 运行 执行一项 Airflow 作业,start_date
日期为 2019 年 7 月 1 日。收集的作业每天从第三方请求数据,然后加载将该数据存入我们的数据库。
在运行连续工作几天成功后,我发现第三方数据源每个月只刷新一次他们的数据。因此,我每天都在下载相同的数据。
那时,我将 start_date
更改为一年前(以获取前几个月的信息),并将 DAG 的时间表更改为每月一次 运行。
我如何(在气流 UI 中)完全重新启动 DAG,以便它识别我的新 start_date
和时间表,并且 运行 像 DAG 一样完成回填是全新的吗?
(我知道这个回填可以通过命令行请求。但是,我没有命令行界面的权限,管理员也无法访问。)
在 Web 界面中单击相关作业的“Dag 运行”列中的绿色圆圈。这会将您带到所有成功 运行 的列表。
勾选列表header左上角的复选标记为select全部
实例,然后在上面的菜单中选择 "With selected",然后在下拉菜单中选择 "Delete"。这应该清除所有现有的 dag 运行 个实例。
如果您的 Airflow 实例未启用 catchup_by_default,请确保在 DAG 上设置 catchup=True
,直到它完成追赶。
背景故事:我每天 运行 执行一项 Airflow 作业,start_date
日期为 2019 年 7 月 1 日。收集的作业每天从第三方请求数据,然后加载将该数据存入我们的数据库。
在运行连续工作几天成功后,我发现第三方数据源每个月只刷新一次他们的数据。因此,我每天都在下载相同的数据。
那时,我将 start_date
更改为一年前(以获取前几个月的信息),并将 DAG 的时间表更改为每月一次 运行。
我如何(在气流 UI 中)完全重新启动 DAG,以便它识别我的新 start_date
和时间表,并且 运行 像 DAG 一样完成回填是全新的吗?
(我知道这个回填可以通过命令行请求。但是,我没有命令行界面的权限,管理员也无法访问。)
在 Web 界面中单击相关作业的“Dag 运行”列中的绿色圆圈。这会将您带到所有成功 运行 的列表。
勾选列表header左上角的复选标记为select全部 实例,然后在上面的菜单中选择 "With selected",然后在下拉菜单中选择 "Delete"。这应该清除所有现有的 dag 运行 个实例。
如果您的 Airflow 实例未启用 catchup_by_default,请确保在 DAG 上设置 catchup=True
,直到它完成追赶。