【发布时间】:2020-11-25 21:02:09
【问题描述】:
我们使用gevent 运行 Celery,虽然内存消耗开始时很大,但随着时间的推移,内存使用量会增加。假设我们无法追踪内存膨胀或泄漏的原因,是否有控制内存使用的好方法?
在 prefork 上运行时,我们使用了 --max-tasks-per-child 和 --max-memory-per-child,但这些似乎与 gevent 不兼容(Celery 文档说它仅适用于 prefork:https://docs.celeryproject.org/en/stable/userguide/workers.html#max-tasks-per-child-setting)。
我们能否重新创建该功能,以便 Celery 进程在内存过高时自行重新启动?
【问题讨论】:
标签: python celery django-celery gevent