我需要一些有关如何在部署时重新启动所有气流服务而又不致于在执行过程中杀死工人的建议。
我已经为DAG编写了一个部署过程,该过程在virtualenv中安装了气流和任何其他pip依赖项。准备好发布目录后,我:
此部署过程的问题是工人立即被杀死。我想在脚本中添加某种监视,以暂停所有DAG,等待工作人员空闲,然后重新启动服务,但是气流CLI无法得知启用了哪些dag以及工作人员是否空闲的方式。
我知道许多气流服务可以自动检测dags文件夹中的更改,但是我希望每个部署都具有自己的virtualenv。如果我不重新启动所有服务,则新部署将不会在我的requirements.txt文件中使用新行。
您可以访问Airflow DB,因此可以考虑开发一个部署脚本来为您执行此过程。
Airflow 工作人员从 SIGINT 中优雅地退出。更新进程监视器以使用 SIGINT 而不是默认值退出。如果您使用 systemctl,那么它将看起来像这样:
...
[Service]
EnvironmentFile=/etc/sysconfig/airflow
User=airflow
Group=airflow
Type=simple
ExecStart=...
KillSignal=SIGINT
Restart=on-failure
RestartSec=10s
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |