airflow - 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”。
解决方案
您可以设置配置参数 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 来解决它
推荐阅读
- groff - Groff Eqn - 如何做更高的根(立方根等)
- c# - Azure Blob 存储授权
- google-apps-script - 例外:数据验证规则的项目数超过了 500 的限制。请改用“范围列表”条件
- c# - Simple Injector 在注册后缺少一种开放的泛型类型 - 可能会发生什么?
- laravel - 多对多关系的分页
- reactjs - 如何使用反应钩子切换
- c# - 无法使用 HttpWebRequest 与服务器协商 HTTPS 连接
- php - 如何在 Controller 中将 AND 附加到我的 Laravel 查询
- stripe-payments - Stripe 结帐付款无法支付
- python - 如何将python库安装到特定环境(没有conda)