即使我在配置文件中关闭load_examples = False
,也会在UI中保留Airflow示例dags。
系统通知dag不存在于dag文件夹中,但它们仍保留在UI中,因为调度程序已将其标记为在元数据数据库中处于活动状态。
我知道从中删除它们的一种方法是直接删除数据库中的这些行,但当然这不太理想。我该如何继续从UI中删除这些dags?
答案 0 :(得分:6)
除了手动删除数据库中的相应行之外,目前无法停止在UI上显示已删除的DAG。唯一的另一种方法是在initdb之后重新启动服务器。
答案 1 :(得分:2)
假设您已经通过Anaconda安装了气流。 否则,请在python site-packages文件夹中查找气流,然后按照下面的说明进行操作。
按照说明https://stackoverflow.com/a/43414326/1823570
后cat $ AIRFLOW_HOME / airflow-webserver.pid | xargs kill -9
airflow webserver -p [port-number]
答案 2 :(得分:1)
气流1.10 +:
load_examples = False
airflow delete_dag example_dag_to_delete
这避免了重置整个气流数据库。
(自Airflow 1.10起,就有从数据库中删除dag的命令,请参见this answer)
答案 3 :(得分:0)
肯定airflow resetdb
在这里起作用。
我要做的是创建多个Shell脚本,以用于各种目的,例如启动Web服务器,启动调度程序,刷新dag等。我只需要运行该脚本即可执行我想要的操作。这是列表:
(venv) (base) [pchoix@hadoop02 airflow]$ cat refresh_airflow_dags.sh
#!/bin/bash
cd ~
source venv/bin/activate
airflow resetdb
(venv) (base) [pchoix@hadoop02 airflow]$ cat start_airflow_scheduler.sh
#!/bin/bash
cd /home/pchoix
source venv/bin/activate
cd airflow
nohup airflow scheduler >> "logs/schd/$(date +'%Y%m%d%I%M%p').log" &
(venv) (base) [pchoix@hadoop02 airflow]$ cat start_airflow_webserver.sh
#!/bin/bash
cd /home/pchoix
source venv/bin/activate
cd airflow
nohup airflow webserver >> "logs/web/$(date +'%Y%m%d%I%M%p').log" &
(venv) (base) [pchoix@hadoop02 airflow]$ cat start_airflow.sh
#!/bin/bash
cd /home/pchoix
source venv/bin/activate
cd airflow
nohup airflow webserver >> "logs/web/$(date +'%Y%m%d%I%M%p').log" &
nohup airflow scheduler >> "logs/schd/$(date +'%Y%m%d%I%M%p').log" &
别忘了chmod +x
那些脚本
希望您能找到帮助。