当我在dags文件夹中放入一个新的DAG python脚本时,我可以在DAG UI中查看DAG的新条目,但它没有自动启用.最重要的是,它似乎也没有正确加载.我只能在列表右侧点击几次"刷新"按钮,并切换列表左侧的开/关按钮,以便能够安排DAG.这些是手动过程,因为我需要触发一些东西,即使DAG脚本放在dag文件夹中.
有人可以帮我吗?我错过了什么吗?或者这是气流中的正确行为?
顺便说一句,正如帖子标题中所提到的,有一个指示符,显示"此DAG在网络服务器DagBag对象中不可用.它显示在此列表中,因为调度程序在metdata数据库中将其标记为活动"标记在我触发所有这个手动过程之前使用DAG标题.
它不是你,也不是正确或预期的行为.这是Airflow目前的"漏洞".Web服务器以一种您无法按预期方式使用它的方式缓存DagBag.
作为路线图的一部分," Attempt removing DagBag caching for the web server
"仍然在官方TODO上,表明此错误可能尚未完全解决,但以下是有关如何继续的一些建议:
在气流v1.9之前,当dag由函数实例化时会发生这种情况,该函数被导入到实例化发生的文件中.即:使用构建器或工厂模式时.有关github 2和JIRA 3上此问题的一些报告导致了在airflow v1.9中发布的修复程序.
如果您使用的是旧版本的气流,请不要使用构建器功能.
airflow backfill
重新加载缓存正如德米特里所说,airflow backfill '
为相同的开始和结束日期运行有时会有所帮助.此后,您可能会得到Priyank指向的(非) - 但这是预期的行为(状态:暂停与否),具体取决于您在安装中的配置.
重新启动airflow webserver
解决我的问题.