最近在使用celery这个异步框架,在使用的过程中,发现worker运行一段时间后,内存持续上涨,然后告警 在网上查询之后发现了Celery有内存泄漏的问题,requests包也会有内存泄漏的问题 在网上查到的解决方法是
-
在worker执行指定次数任务后重建新进程
1 2
# 执行32次后被干掉 worker_max_tasks_per_child = 32
-
在worker内存到达指定限制后重建新进程
1 2
# 内存使用量达到 12m 后被干掉 worker_max_memory_per_child = 12000 # 12m