airflow - 如何在 Airflow 中使用 CLI 清除失败的 DAG

标签 airflow

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

我尝试使用 cli (而不是使用 Web UI 执行 20 次):
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

编辑 1:

就像@tobi6 解释的那样,*确实造成了麻烦。
知道了这一点,我尝试了这个命令:
airflow clear -u -d -f -t ".*" my_dags.my_dag_id 

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

编辑 2:

就像@tobi6 建议的那样,使用 -s-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 中,它会自动扩展目录的内容。

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

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

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

关于airflow - 如何在 Airflow 中使用 CLI 清除失败的 DAG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130975/

相关文章:

python - 如何从成功回调中将 Airflow 任务的状态标记为失败?

python - 如何将来自 AWS ECR 的私有(private)镜像与 Airflow 的 DockerOperator 一起使用?

airflow - 使用 jinja 模板中的 Airflow 连接

google-cloud-platform - 导入错误:Python Dataflow Job in cloud composer

python - Docker中的 Airflow initdb引发ImportError:无法导入名称 'import_string'

Airflow 任务卡在 "queued"状态并且永远不会运行

python - 在Airflow的EmailOperator中访问Xcom

Airflow - 是否可以使用 backfill 命令一次(顺序)运行一天?

python - 这是 PySpark 的合适用例吗?空 Airflow 动? Apache 光束?

python - 如何满怀期待地使用Kedro?