新dags未显示在docker airflow上

ghhkc1vu  于 2023-04-11  发布在  Docker
关注(0)|答案(3)|浏览(257)

**问题:**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 UIairflow dags list上显示。运行airflow dags list-import-errors也没有结果。
当我打开docker终端时,我可以通过ls命令在dags文件夹中看到我的dag。我还试图通过使用chown使所有者成为root,但我的两个dag仍然没有显示在列表中。
气流运行成功(通过docker compose),因为我可以看到例子dags,但不是我自己的dags。
任何帮助将不胜感激。谢谢!

disho6za

disho6za1#

我会尝试几件事:

  • 将文件重命名为gcp_dag.pypython_dag.py
  • 确保import airflow存在于每个文件中
  • 确保在每个文件中创建DAG对象
  • 添加__init__.py(空)文件到dags文件夹

至少查看其中一个文件的内容也会很有帮助。

u3r8eeie

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

  1. Exec到您的调度器容器中,并检查它是否可以看到和读取DAG,以及是否正确设置了env变量airflow info在您的调度器容器中运行(假设它与正在运行的调度器使用相同的env运行)应显示所有配置
    1.检查调度程序是否正在运行
    1.查看调度程序的日志,看看它是否正在扫描正确的文件夹-启用调试日志可能会有帮助https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#logging-level
    1.看看你是否可以看到dags与airflow dags子命令
lmyy7pcs

lmyy7pcs3#

这也可能是权限的问题。检查哪个用户被分配给DAG文件,或者更好地尝试从容器内部查看文件,如下所示:

docker exec -it <container> bash
cat /opt/airflow/dags/test_gcp.py

相关问题