Есть открытый выпуск на сельдерее, который, возможно, стоит проверить.
Ваш обходной путь вполне справедлив, и это то, что мы использовали в своем бизнесе и просто работали. Замечательно то, что сельдерей использует рабочие пулы, что означает, что он не убивает рабочие процессы после каждой задачи и повторно использует их для следующих задач, что, очевидно, означает, что ресурсы уровня процесса могут течь со временем.
Вы можете измеритьвремя, необходимое для запуска и смерти процессов. Например, если для выполнения ваших задач требуется 20 секунд, и процессы запускаются и, наконец, умирают, и 2 секунды, а допустимые накладные расходы равны 5%, вы можете установить для параметра CELERYD_MAX_TASKS_PER_CHILD
значение 2. Это зависит от количества накладных расходов и утечки. могу терпеть.