Проблемы с Airflow 2.0: слишком много задач диспетчера воздушного потока

Я установил airflow 2.0 с помощью docker swarm и Celery Executor.
Через неделю память рабочих сельдерея переполняется. airflow task supervisor(скриншот прилагается)
Кто-нибудь сталкивался с такими проблемами? Какие-либо предложения ?

1 ответ

В Airflow 2.0 есть 2 способа создания дочерних процессов.

  1. разветвление родительского процесса (быстро)
  2. создание нового процесса python с использованием подпроцесса python (медленно)

По умолчанию airflow 2.0 использует метод (1). Разветвление родительского процесса происходит быстрее. С другой стороны, дочерний процесс не уничтожается после завершения задачи. Количество дочерних процессов увеличивается до тех пор, пока память не иссякнет.

Я переключился на метод подпроцесса (2), установив execute_tasks_new_python_interpreter = True. Здесь каждый процесс python уничтожается и каждый раз создается новый процесс. Это может быть медленным, но память используется эффективно.

Другие вопросы по тегам