1

我正在尝试在 ubuntu 服务器上设置气流。我写了一些 dags,当我用airflow test <dag_id> <task_id>. 我使用以下命令将气流作为守护进程运行

airflow webserver -p 8080 -D

当我去的时候,http://localhost:8080我不能点击气流用户界面中的 dags。相反,我在 dag 名称旁边看到一个小图标:

在此处输入图像描述

奇怪的是,当我使用命令手动运行气流时

airflow webserver -p 8080

我可以点击dag!

在此处输入图像描述

我认为这个问题是由于网络服务器在作为守护进程运行时与手动运行时具有不同的配置。我不明白为什么,因为在这两种情况下,网络服务器都应该在同一个位置寻找 dag,对吧?

问题:我该如何解决这个问题?当我手动运行网络服务器时,我的 dag 被识别,而当我将网络服务器作为守护进程运行时,我的 dags 被识别的原因是什么?

4

1 回答 1

0

我不确定这为什么有效(它可能与守护进程运行的位置有关)但它有效:

在不同的 dag 文件中,我通过指向 dag 所在的目录(dags文件夹)来指定路径。所以它会像这样定义日志位置:

log = ./log/etl_log.log

手动运行网络服务器时,这不会导致任何问题,但在将网络服务器作为守护进程运行时会出现问题。因为在我将日志位置更改为

log = /home/user/airflow/dags/log/etl_log.log

我能够在 ui 中访问 dag。

于 2018-10-03T09:21:00.433 回答