Oct*_*one 5 python celery gevent django-celery
我们使用 运行 Celery gevent,虽然内存消耗一开始很大,但随着时间的推移,内存使用量会增加。假设我们无法追踪内存膨胀或泄漏的原因,是否有一个好的方法来控制内存使用?
在 prefork 上运行时,我们使用了--max-tasks-per-child和--max-memory-per-child,但这些似乎不兼容gevent(Celery 文档说它仅适用于prefork: https: //docs.celeryproject.org/en/stable/userguide/workers.html#max -每个孩子的任务设置)。
我们能否重新创建该功能,以便 Celery 进程在内存过高时自行重新启动?
小智 -1
您可以构建一个 cron 作业,以您选择的频率重新启动 celery 工作程序。确保启动热关机,否则您将丢失当前正在运行的所有任务。您还可以考虑降低并发性,或者重新评估是否应该使用预分叉。
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |