2

我正在运行一个生成近 10000 个对象的脚本。在保存每个对象时,将调用一个 Celery 任务,因此在短短 1-3 分钟内,Celery 就收到了 1000 个任务,并且它的工作人员正在死亡(状态仍显示为 RUNNING)。

所以我需要一次又一次地重新启动。因为我要重新启动很多次,所以许多 Python 进程(运行 Celery)正在消耗大量内存。

4

1 回答 1

2

如果我理解正确,那么您将遇到与几周前相同的问题。每隔一段时间,就好像我们的 celery worker 只是冻结了(我们发现它实际上正在接收任务但没有执行任何任务),并且在重新启动 worker 后,它会匆忙执行任务,直到它决定再次冻结。

通过执行以下 pip 安装解决了该问题。

pip install https://github.com/celery/billiard/zipball/2.7
pip install https://github.com/celery/celery/zipball/asynwrite

我在 celery 项目的 GitHub 问题跟踪页面上找到了解决方案,但我找不到确切的票证。这是一个类似问题的链接(使用它作为解决方案)。

于 2013-05-23T15:56:42.940 回答