docker 气流试图杀死产生的码头集装箱,但集装箱仍然存在

ru9i0ody  于 2022-11-22  发布在  Docker
关注(0)|答案(1)|浏览(187)

我们使用Airflow进行作业调度。为了在隔离环境中运行代码,我们让Airflow通过BashOperator和docker-compose生成作业。因此,每个Airflow任务都创建一个容器。这很好用,但我们注意到提前终止的作业有一个问题。
例如,当一个作业在airflow web界面中被设置为失败时,日志会指示SIGTERM已被发送,并且该进程不再存在。Airflow及其组件本身在docker容器中运行(请参阅下面的docker-compose)。查看Airflow-worker容器,我们会看到该进程确实已被终止。
然而,当我们查看docker ps时,我们看到docker容器实际上仍然是活动的!显然这是非常危险的,因为根据气流GUI,不再运行的潜在长时间运行的任务实际上正在消耗资源。
有什么办法吗?
Airflow Version 2.4.3我们使用这个docker-compose.yml来部署不同的气流组件https://airflow.apache.org/docs/apache-airflow/2.4.3/docker-compose.yaml

相关问题