4

我正在使用托管的 RabbitMQ 提供程序,即CloudAMQP,并在 heroku 上运行 django 应用程序服务器。在本地环境中,一切似乎都运行良好,但在 CloudAMQP 对与代理的同时连接数有限制的 Heroku 上,连接似乎永远持续存在,最终导致应用程序用尽可用的打开连接。即使订阅者(即 heroku 工作者)执行了与早期连接相关的任务,也会发生这种情况。

如果你已经能够成功地将 CloudAMQP 与 Heroku 和 django celery 一起使用,你能发布对你有用的东西吗?

4

2 回答 2

1

能够通过添加BROKER_POOL_LIMIT=0到我的生产设置来解决这个问题。

于 2013-06-27T14:19:05.183 回答
0

BROKER_POOL_LIMIT=0意味着需要连接的设置的任何部分都将建立它,做它的事情并断开连接

虽然这有助于空闲设置,但您会发现自己在较高流量期间偶尔会达到 6 个连接限制,因为您只需要 6 个以上的连接即可让您的所有东西与 cloudamqp 对话

查看heroku celery 超出连接限制,了解为什么以及如何修复它

于 2013-11-13T23:24:16.073 回答