13

load_examples = False即使在配置文件中关闭后,气流示例 dag 仍保留在 UI中。

在此处输入图像描述

系统通知 dag 不存在于 dag 文件夹中,但它们仍保留在 UI 中,因为调度程序已在元数据数据库中将其标记为活动。

我知道从那里删除它们的一种方法是直接删除数据库中的这些行,但当然这并不理想。我应该如何继续从 UI 中删除这些 dag?

4

4 回答 4

10

目前没有办法阻止已删除的 DAG 在 UI 上显示,除非手动删除数据库中的相应行。唯一的另一种方法是在 initdb 之后重新启动服务器。

于 2017-07-03T13:13:22.390 回答
5

气流 1.10+:

  • 编辑airflow.cfg 并设置load_examples = False
  • 对于每个示例 dag,运行命令airflow delete_dag example_dag_to_delete

这样可以避免重置整个气流分贝。

(由于 Airflow 1.10 有从数据库中删除 dag 的命令,请参阅此答案

于 2019-04-09T09:52:37.807 回答
2

假设您已经通过 Anaconda 安装了气流。否则在您的 python 站点包文件夹中查找气流并按照以下说明进行操作。

按照说明操作后https://stackoverflow.com/a/43414326/1823570

  • 转到 $AIRFLOW_HOME/lib/python2.7/site-packages/airflow 目录
  • 删除名为 example_dags 的目录或将其重命名以恢复
  • 重新启动您的网络服务器

cat $AIRFLOW_HOME/airflow-webserver.pid | xargs 杀死 -9

气流网络服务器 -p [端口号]

于 2017-06-28T20:52:56.193 回答
0

绝对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那些脚本

我希望你觉得这有帮助。

于 2019-02-28T03:07:47.003 回答