如何优雅地关闭Airflow?

Chu*_*Liu 6 airflow

我们在 AWS ECS 上运行 Airflow,并将所有 DAG 捆绑在 Docker 映像中。我们会不时更新 DAGS,并部署新版本的 Docker 镜像。当我们这样做时,ECS 将终止正在运行的 Airflow Web 服务器/调度程序/工作人员,并启动新的。我们遇到了一些问题,即一些在部署之前启动的 DAG 在部署后仍然被标记为“正在运行”,即使它们的任务已被部署终止,并且一些 externalSensor 任务仍处于挂起状态。

有没有办法优雅地关闭气流?理想情况下,它可以将所有正在运行的任务标记为 up_for_retry,并在部署完成后重新运行它们?

小智 0

docker stop <container-id/name>

这确实让芹菜工人热停工

工人_1 | 工作人员:热关闭(MainProcess)
工人_1 |
工人_1 | -------------- celery@155afae87458 v4.1.1 (潜在调用)
工人_1 | ---- **** -----
工人_1 | --- * *** * -- Linux-4.9.93-linuxkit-aufs-x86_64-with-debian-9.5 2018-10-18 16:52:08
工人_1 | -- * - **** ---
工人_1 | - ** ---------- [配置]
…………