Py学习  »  Redis

在Django中使用redis代理的celery:任务成功执行,但仍有太多的持久redis密钥和连接

sunw • 5 年前 • 545 次点击  

我们的python服务器(django 1.11.17)使用芹菜4.2.1,其中redis作为代理(我们使用的pip redis包是3.0.1)。Django应用程序部署到Heroku,芹菜经纪人是使用Heroku的Redis云附加组件建立的。

我们已经完成的芹菜任务绝对应该在一分钟内完成(中间完成时间约为100毫秒),但我们看到Redis密钥和连接的持续时间比这要长得多(长达24小时)。否则,任务将被正确执行。

在我们的redis代理中,会发生什么导致这些持久的密钥和连接?当芹菜任务结束时,我们如何清除它们?

这是Redis实验室的屏幕截图(所有任务都应该完成,所以我们希望零键和零连接):

Redis Labs screenshot

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30839
 
545 次点击  
文章 [ 1 ]  |  最新文章 5 年前
sunw
Reply   •   1 楼
sunw    5 年前

解决了我自己的问题:如果 CELERY_IGNORE_RESULT 配置变量设置为 True (我之所以能够这样做,是因为我不使用任务中的任何返回值),然后键和连接又回到了控制之下。

来源: Celery project documentation