首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >通过 http 方式获取 RabbitM

通过 http 方式获取 RabbitM

作者头像
py3study
发布2020-01-03 11:03:46
发布2020-01-03 11:03:46
7830
举报
文章被收录于专栏:python3python3

  在使用 pika 连接 RabbitMQ 的过程中,发现只能获取 ready 状态的消息数量,只好用 http 请求来实现目的。

代码语言:javascript
复制
#encoding: utf-8
#author: walker
#date: 2018-03-06
#summary: 获取 RabbitMQ 中3种状态消息的数量

import os, sys, time
import requests
import json

class RabbitMQTool(object):
	def __init__(self, host, vhost, queue, user, passwd):
		self.host = host
		self.vhost = vhost
		self.queue = queue
		self.user = user
		self.passwd = passwd

	# 返回3种消息数量:ready, unacked, total
	def getMessageCount(self):
		url = 'http://%s:15672/api/queues/%s/%s' % (self.host, self.vhost, self.queue)
		r = requests.get(url, auth=(self.user, self.passwd))
		print(r)
		if r.status_code != 200:
			return -1

		dic = json.loads(r.text)
		
		return dic['messages_ready'], dic['messages_unacknowledged'], dic['messages']

if __name__ == '__main__':    
	mqTool = RabbitMQTool(host = '192.168.0.xx',
							vhost = 'vhost_walker',
							queue = 'queue_walker',
							user = 'walker',
							passwd = 'walker')

	ready, unacked, total = mqTool.getMessageCount()
	
	print('ready: %d' % ready)
	print('unacked: %d' % unacked)    
	print('total: %d' % total)

*** walker ***

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档