我有一些失败的 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(使用前将#替换为@)