**问题:**docker airflow上没有显示新的dags,运行airflow dags list-import-errors
没有错误
Docker镜像:official airflow image
docker-compose.yaml
内部Dags路径(默认路径):
volumes:
- ./dags:/opt/airflow/dags
我将dag文件放在主目录的dags
文件夹中,如下所示:
但是,dags
仍然没有在webserver UI
和airflow dags list
上显示。运行airflow dags list-import-errors
也没有结果。
当我打开docker终端时,我可以通过ls
命令在dags文件夹中看到我的dag。我还试图通过使用chown
使所有者成为root,但我的两个dag仍然没有显示在列表中。
气流运行成功(通过docker compose
),因为我可以看到例子dags,但不是我自己的dags。
任何帮助将不胜感激。谢谢!
3条答案
按热度按时间disho6za1#
我会尝试几件事:
gcp_dag.py
和python_dag.py
import airflow
存在于每个文件中DAG
对象__init__.py
(空)文件到dags文件夹至少查看其中一个文件的内容也会很有帮助。
u3r8eeie2#
1.不要将您的python DAG命名为test_*,这可能无关紧要,但这通常是单元测试的约定
1.确保dags中有DAG单词(或将www.example.com更改https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#dag-discovery-safe-mode为False)-如果不包含“DAG”或“airflow”,则可以忽略DAG
airflow info
在您的调度器容器中运行(假设它与正在运行的调度器使用相同的env运行)应显示所有配置1.检查调度程序是否正在运行
1.查看调度程序的日志,看看它是否正在扫描正确的文件夹-启用调试日志可能会有帮助https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#logging-level
1.看看你是否可以看到dags与
airflow dags
子命令lmyy7pcs3#
这也可能是权限的问题。检查哪个用户被分配给DAG文件,或者更好地尝试从容器内部查看文件,如下所示: