如何强制关闭客户端连接rabbitmq

use*_*060 0 rabbitmq pika python-pika

我有一个使用rabbitmq代理的客户端服务器应用程序.客户端连接到rabbitmq并将消息发送到服务器.在某些时候,如果服务器决定不应该将此客户端连接到rabbitmq,我希望能够强制断开客户端与rabbitmq边界的连接.请注意,在我的情况下,我不想发送消息给客户端断开连接,在服务器端我想强制断开这个客户端与rabbitmq.

找不到api这样做.任何帮助都是适当的.

Gab*_*ele 6

您可以通过两种方式使用管理控制台插件:

  1. 手动,进入连接并"强制关闭".

  1. 通过使用"删除" 的HTTP API/api/connections/name,这里有一个python示例:
import urllib2, base64
def calljsonAPI(rabbitmqhost, api):
    request = urllib2.Request("http://" + rabbitmqhost + ":15672/api/" + api);
    base64string = base64.encodestring('%s:%s' % ('guest', 'guest')).replace('\n', '')
    request.add_header("Authorization", "Basic %s" % base64string);
    request.get_method = lambda: 'DELETE';
    urllib2.urlopen(request);
if __name__ == '__main__':
    RabbitmqHost = "localhost";
    #here you should get the connection detail through the api, 
   calljsonAPI(RabbitmqHost, "connections/127.0.0.1%3A49258%20-%3E%20127.0.0.1%3A5672");
Run Code Online (Sandbox Code Playgroud)