RabbitMQ-需要关闭所有连接,但关闭所有连接不';行不通

RabbitMQ-需要关闭所有连接,但关闭所有连接不';行不通,rabbitmq,rabbitmqctl,Rabbitmq,Rabbitmqctl,我们有一组运行Windows应用程序的客户端PC,该应用程序是打开到Windows 2016服务器上运行的RabbitMQ 3.7.7(Erlang 20.3)实例的连接的客户端 我们的客户端应用程序在启动时打开一个连接。如果由于出现错误(例如RabbitMQ上已达到最大连接限制)而无法打开连接,则会显示错误消息 我们的应用程序中存在一个bug,它有时会使连接保持打开状态。我们还不能修复这个bug,因为在1月1日这一天修补应用程序是不可能的 因此,我们自然希望告诉RabbitMQ关闭所有连接(我

我们有一组运行Windows应用程序的客户端PC,该应用程序是打开到Windows 2016服务器上运行的RabbitMQ 3.7.7(Erlang 20.3)实例的连接的客户端

我们的客户端应用程序在启动时打开一个连接。如果由于出现错误(例如RabbitMQ上已达到最大连接限制)而无法打开连接,则会显示错误消息

我们的应用程序中存在一个bug,它有时会使连接保持打开状态。我们还不能修复这个bug,因为在1月1日这一天修补应用程序是不可能的

因此,我们自然希望告诉RabbitMQ关闭所有连接(我们可以在一夜之间做到这一点——任何人都不应该让应用程序在一夜之间运行——但如果我们在白天关闭它们,那就无关紧要了:客户机应用程序的RabbitMQ相关功能直到下个月中旬才被需要或使用,除了无法关闭的连接的打开)

但是重新启动RabbitMQ会使它们全部打开。rabbitmqctl close_all_connections--global也不会关闭连接(可能会向客户端发送关闭消息,但如果客户端不再侦听,则会使连接保持打开状态)

我们可以做些什么来强制RabbitMQ关闭所有连接,而不用在Erlang中编写自己的应用程序来终止进程


[更新:我们现在将以正确的方式修复它,但也许问题应该留在这里,以防它对其他人有帮助?]

您未能指定RabbitMQ服务器在哪个平台上运行。我假设是unix?这可能可以通过一个简单的shell脚本来完成,但您正在寻找一个根本不应该存在的问题的通用解决方案。很好,谢谢。实际上是Windows server 2016。[添加到问题中]下次我发布问题时,我会记得包括这些细节!