当将网络服务器作为守护程序运行时,无法识别气流损失

时间:2018-10-01 15:23:22

标签: python-3.x ubuntu airflow

我正在尝试在ubuntu服务器上设置气流。当我用airflow test <dag_id> <task_id>测试它们时,我已经写了一些看起来不错的dag。我已经使用以下命令将气流作为守护程序运行

airflow webserver -p 8080 -D

当我转到http://localhost:8080时,我无法在气流UI中单击该dags。相反,我在dag名称旁边看到一个小图标:

enter image description here

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

airflow webserver -p 8080

我可以单击dag!

enter image description here

我认为此问题是由以下事实引起的:与以手动方式运行时相比,作为守护程序运行时,网络服务器具有不同的配置。我不明白为什么,因为在这两种情况下,Web服务器都应该在同一地点寻找Dags,对吗?

问题:如何解决此问题?是什么原因导致我在手动运行Web服务器时识别到dag而在将Web服务器作为守护进程运行时却未被识别?

1 个答案:

答案 0 :(得分:0)

我不确定为什么它可以工作(它可能与守护进程运行的位置有关),但是它可以工作:

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

log = ./log/etl_log.log

在手动运行Web服务器时,这不会引起任何问题,但是在将Web服务器作为守护进程运行时确实会出现问题。因为在我将日志位置更改为

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

我能够在ui中访问dag。