RabbitMQ 保持连接运行很长时间
Posted
技术标签:
【中文标题】RabbitMQ 保持连接运行很长时间【英文标题】:RabbitMQ keeps connections running for a long time 【发布时间】:2013-06-11 04:46:19 【问题描述】:我正在使用托管的 RabbitMQ 提供程序,即 CloudAMQP,并在 heroku 上运行 django 应用服务器。在本地环境中,一切似乎都运行良好,但在 CloudAMQP 对与代理的同时连接数有限制的 Heroku 上,连接似乎永远持续存在,最终导致应用程序用尽可用的打开连接。即使订阅者(即 Heroku 工作人员)执行了与早期连接相关的任务,也会发生这种情况。
如果你已经能够成功地将 CloudAMQP 与 Heroku 和 django celery 一起使用,你能发布对你有用的东西吗?
【问题讨论】:
【参考方案1】:能够通过将BROKER_POOL_LIMIT=0
添加到我的生产设置来解决此问题。
【讨论】:
【参考方案2】:BROKER_POOL_LIMIT=0
表示您的设置中任何需要连接的部分都将建立连接、执行其操作并断开连接
虽然这有助于空闲设置,但您会发现自己在流量较高期间偶尔会达到 6 个连接限制,因为您只需要 6 个以上的连接就可以让所有东西与 cloudamqp 通信
查看heroku celery exceeding connection limit 了解为什么以及如何修复它
【讨论】:
以上是关于RabbitMQ 保持连接运行很长时间的主要内容,如果未能解决你的问题,请参考以下文章