我正在使用一个托管的RabbitMQ提供程序,即CloudAMQP,并在heroku上运行django应用服务器。在本地环境中,一切似乎都工作得很好,但在Heroku上,CloudAMQP对同时连接到代理的数量有限制,连接似乎永远存在,最终导致应用程序耗尽可用的开放连接。即使订阅者(即heroku worker)执行了与早期连接相关联的任务,也会发生这种情况。
如果你已经能够成功地使用CloudAMQP与Heroku和django芹菜,你可以张贴的东西为你工作?
可以通过将BROKER_POOL_LIMIT=0
添加到我的生产设置来解决这个问题。
BROKER_POOL_LIMIT=0
意味着需要连接的任何部分将建立它,做它的事情并断开
虽然这有助于空闲设置,但您会发现自己在流量较高的时期偶尔会达到6个连接限制,因为您需要超过6个连接才能使所有内容与clouddamqp
通信。查看heroku芹菜超过连接限制的原因和如何修复的解释