如何在气流中使用 CLI 清除失败的 DAG

2024-01-14

我有一些失败的 DAG,比如说从 2 月 1 日到 2 月 20 日。从那天起,他们都成功了。

我尝试使用cli https://airflow.apache.org/cli.html#clear(而不是使用 Web UI 执行二十次):

airflow clear -f -t * my_dags.my_dag_id

但我有一个奇怪的错误:

airflow: error: unrecognized arguments: airflow-webserver.pid airflow.cfg airflow_variables.json my_dags.my_dag_id

EDIT 1:

就像 @tobi6 解释的那样,*确实造成了麻烦。 知道了这一点,我尝试了这个命令:

airflow clear -u -d -f -t ".*" my_dags.my_dag_id 

但它只返回失败的任务实例(-f flag). -d and -u标志似乎不起作用,因为失败的下游和上游任务实例被忽略(不返回)。

EDIT 2:

就像@tobi6建议的那样,使用-s and -e允许选择某个日期范围内的所有 DAG 运行。这是命令:

airflow clear  -s "2018-04-01 00:00:00" -e "2018-04-01 00:00:00"  my_dags.my_dag_id.

然而,添加-f上面命令的标志仅返回失败的任务实例。是否可以选择某个日期范围内所有失败的 DAG 运行的所有失败任务实例?


如果您使用星号*在Linux bash中,它会自动扩展目录的内容。

这意味着它将用当前工作目录中的所有文件替换星号,并且then执行你的命令。

这将有助于避免自动扩展:

"airflow clear -f -t * my_dags.my_dag_id"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在气流中使用 CLI 清除失败的 DAG 的相关文章

随机推荐