在 Airflow 中,我应该如何处理错误“此 DAG 在网络服务器 DagBag 对象中不可用。它显示在此列表中是因为调度程序在元数据数据库中将其标记为活动”?
我已将新的 DAG 复制到 Airflow 服务器,并尝试过:
- 取消暂停并刷新(基本操作过程,在上一个答案https://stackoverflow.com/a/42291683/160406中给出)
- 重新启动网络服务器
- 重新启动调度程序
- 停止网络服务器和调度程序,重置数据库(
airflow resetdb
),然后再次启动网络服务器和调度程序 - 正在运行
airflow backfill
(此处建议Airflow "This DAG isnt available in the webserver DagBag object") - 跑步
airflow trigger_dag
调度程序日志显示它正在处理并且没有发生错误,我可以与它交互并通过 CLI 查看它的状态,但它仍然没有出现在 Web UI 中。
编辑:网络服务器和调度程序运行在具有相同气流.cfg 的同一台机器上。它们不在 Docker 中运行。
它们由Supervisor运行,它们作为同一个用户(气流)运行。气流用户对所有 dag 文件具有读取、写入和执行权限。