我们在AWS ECS上运行Airflow,并将所有DAG捆绑在Docker映像中。我们会不时更新DAGS,并部署新版本的Docker Image。当我们这样做时,ECS将终止正在运行的Airflow Web服务器/调度程序/工作程序,并启动新的。我们遇到的问题是,一些DAG(在部署之前开始)在部署之后仍然被标记为“正在运行”,即使它们的任务已被部署杀死,并且某些externalSensor任务仍然挂起。
有没有办法正常关闭Airflow?理想情况下,它可以将所有正在运行的任务标记为up_for_retry,并在部署完成后重新运行它们?
答案 0 :(得分:0)
docker stop <container-id/name>
这确实可以关闭芹菜工人
worker_1 | worker: Warm shutdown (MainProcess) worker_1 | worker_1 | -------------- celery@155afae87458 v4.1.1 (latentcall) worker_1 | ---- **** ----- worker_1 | --- * *** * -- Linux-4.9.93-linuxkit-aufs-x86_64-with-debian-9.5 2018-10-18 16:52:08 worker_1 | -- * - **** --- worker_1 | - ** ---------- [config] .......