python - Rabbitmq/Pika - 在 python 中获取给定队列的消费者列表
问题描述
我想找到一种方法来获取连接到 python 中 rabbitmq 中给定队列的消费者列表。需要一个脚本来返回连接到队列(对我来说是它的设备)的 ip 和名称的消费者列表。
谢谢您的帮助!
connection = pika.BlockingConnection(parameters)
channel = connection.channel()
queue_state = channel.queue_declare(
queue='some_Queue', passive=True, durable=True)
我找到了一种方法来计算消费者,但不是消费者本身的列表..所以仍然没有解决方案:
consumers = queue_state.method.consumer_count
print(consumers)
解决方案
尝试使用监控 API:
import requests
from requests.auth import HTTPBasicAuth
api_queues = 'http://' + host_ip + ':' + api_port + '/api/queues/%2F/'+queue_name
res = requests.get(api_queues, auth=HTTPBasicAuth(login, password))
res_json = res.json()
# Number of consumers
number_of_consumers= len(res_json['consumer_details'])
请不要在虚拟主机为“/”时使用“%2F”。
问候
推荐阅读
- wso2 - 在本机桌面应用程序上使用 WSO2
- r - 通过不同的列将列表中的多个数据框合并到另一个数据框
- python-3.x - AIRFLOW:如何设置对多个任务运行的依赖关系
- python - 如何在核心用户下在 CoreOS 上安装 Python?
- scala - 为什么`xs reverse_::: ys`有效?
- xquery - 错误 - '/' 的第一个操作数的必需项类型是 node();提供的值具有项目类型 xs:untypedAtomic
- c - 为什么这会造成无限循环?
- javascript - 如何在没有样式滑块的光滑滑块中设置点的样式
- docker - Docker:无法准备上下文:无法评估上下文路径中的符号链接:readlink C:\Users\fred.blogs\My Documents:访问被拒绝
- python - 使用正则表达式在python中删除与句点或句号连接的单词