load_examples = False
即使在配置文件中关闭后,气流示例 dag 仍保留在 UI中。
系统通知 dag 不存在于 dag 文件夹中,但它们仍保留在 UI 中,因为调度程序已在元数据数据库中将其标记为活动。
我知道从那里删除它们的一种方法是直接删除数据库中的这些行,但当然这并不理想。我应该如何继续从 UI 中删除这些 dag?
load_examples = False
即使在配置文件中关闭后,气流示例 dag 仍保留在 UI中。
系统通知 dag 不存在于 dag 文件夹中,但它们仍保留在 UI 中,因为调度程序已在元数据数据库中将其标记为活动。
我知道从那里删除它们的一种方法是直接删除数据库中的这些行,但当然这并不理想。我应该如何继续从 UI 中删除这些 dag?
目前没有办法阻止已删除的 DAG 在 UI 上显示,除非手动删除数据库中的相应行。唯一的另一种方法是在 initdb 之后重新启动服务器。
气流 1.10+:
load_examples = False
airflow delete_dag example_dag_to_delete
这样可以避免重置整个气流分贝。
(由于 Airflow 1.10 有从数据库中删除 dag 的命令,请参阅此答案)
假设您已经通过 Anaconda 安装了气流。否则在您的 python 站点包文件夹中查找气流并按照以下说明进行操作。
按照说明操作后https://stackoverflow.com/a/43414326/1823570
cat $AIRFLOW_HOME/airflow-webserver.pid | xargs 杀死 -9
气流网络服务器 -p [端口号]
绝对airflow resetdb
在这里工作。
我所做的是为各种目的创建多个 shell 脚本,例如启动 webserver、启动调度程序、刷新 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
那些脚本
我希望你觉得这有帮助。