猿问

Django 中带有 Redis 代理的 Celery:任务成功执行

我们的 Python 服务器(Django 1.11.17)使用 Celery 4.2.1 和 Redis 作为代理(我们使用的 pip redis 包是 3.0.1)。Django 应用程序部署到 Heroku,Celery 代理是使用 Heroku 的 Redis Cloud 附加组件设置的。

我们的 Celery 任务肯定应该在一分钟内完成(平均完成时间约为 100 毫秒),但我们看到 Redis 键和连接的持续时间比这要长得多(最多 24 小时)。否则,任务正在正确执行。

是什么导致了我们的 Redis 代理中的这些持久键和连接?当 Celery 任务结束时,我们如何清除它们?

这是发生这种情况的 Redis Labs 屏幕截图(所有任务都应该已完成,因此我们期望零键和零连接):

森林海
浏览 171回答 1
1回答

一只甜甜圈

解决了我自己的问题:如果将CELERY_IGNORE_RESULTconfig 变量设置为True(我能够这样做,因为我不使用任务的任何返回值),则键和连接将重新得到控制。
随时随地看视频慕课网APP

相关分类

Python
我要回答