首页 > 解决方案 > Airflow 2.0 问题:气流监控任务过多

问题描述

我使用 docker swarm 和 Celery Executor 安装了气流 2.0。
1 周后,芹菜工人的内存溢出airflow task supervisor(附截图)
有人遇到过这样的问题吗?有什么建议么 ?

在此处输入图像描述

标签: airflowairflow-2.x

解决方案


在 Airflow 2.0 中,有两种创建子进程的方法。

  1. 父进程的分叉(快速)
  2. 使用 python 子进程生成一个新的 python 进程(慢)

默认情况下,airflow 2.0 使用 (1) 方法。分叉父进程更快。另一方面,子进程在任务完成后不会被杀死。子进程的数量不断增加,直到内存耗尽。

我通过设置切换到子流程方法(2)execute_tasks_new_python_interpreter = True。在这里,每个 python 进程都被杀死,并且每次创建新进程。这可能很慢,但有效地利用了内存。


推荐阅读