Утечка памяти при запуске Celery Django, стратегия Gevent с Multi Worker
Я использовал celery с rabbitmq в Django. мои задачи io-bound и я использовал стратегию gevent. Я хочу запускать задачи celery на мультипроцессе (потому что gevent работает на одном процессе). но память растет без причины, без выполнения каких-либо задач. что случилось?
вот моя команда сельдерея:
celery multi start 10 -P gevent -c 500 -A my-app -l info -E --without-gossip --without-mingle --without-heartbeat --pidfile='my-path' --logfile='my-path'
мой конфиг Django celery:
CELERY_IGNORE_RESULT = True
CELERY_WORKER_PREFETCH_MULTIPLIER = 100
CELERY_WORKER_MAX_TASKS_PER_CHILD = 400
CELERYD_TASK_SOFT_TIME_LIMIT = 60 * 60 * 12
CELERYD_TASK_TIME_LIMIT = 60 * 60 * 13
celery==5.2.7 django==4.1.2
Я нашел проблему:
Celery предупреждает об этом при запуске рабочего, что запуск с режимом DEBUG вызывает утечку памяти. Я изменил режим отладки на False и устранил утечку памяти.