首页 > 解决方案 > Apache Airflow 问题 - “具有 task_id create_tag_template_field_result 的任务已经在 DAG 中”

问题描述

因此,即使是空白的 Airflow 安装,我也遇到了问题。

一旦我尝试跑步

airflow test tutorial print_date 2015-06-01

我收到一个引发的异常,上面写着

PendingDeprecationWarning:无法将请求的任务添加到 DAG,因为具有 task_id create_tag_template_field_result 的任务已在 DAG 中。从 Airflow 2.0 开始,尝试覆盖任务将引发异常。

这是什么原因(因为我实际上没有对安装进行任何更改)?

当我在以前的安装中尝试运行我自己的 dag 时,我也得到了这一点……但是在我的代码中找不到“create_tag_template_field_result”。

标签: airflow

解决方案


您可以设置配置参数 load_examples = False 来解决它。

这是测试命令会调用get_dag函数,该函数会构造一个DagBag对象,在构造函数中会调用collect_dags函数。当配置参数 LOAD_EXAMPLES=True(default True) 时,collect_dags 函数将收集示例路径中的所有 dag,这就是任务 create_tag_template_field_result 的来源。
并且在 collect_dags 函数中将调用每个示例任务的 add_task 函数,这就是您再次添加 create_tag_template_field_result 任务的地方。当您第一次添加此任务而您没有意识到时,也许它是快速入门。
您可以设置配置参数 load_examples = False 来解决它


推荐阅读