Python监听RabbitMq ready数量
通过定时器每隔半小时监控一次。防止队列卡住。
说明:
vhost = '%2F'
当你的vhost是 / 的时候 浏览器要通过 转义
所以 / = %2F
#encoding: utf-8
#summary: 获取 RabbitMQ 中3种状态消息的数量import os, sys, time
import requests
import json
import smtplib
import time
from email.mime.text import MIMEText
from email.header import Headerclass RabbitMQTool(object):def __init__(self, host, vhost, user, passwd):self.host = hostself.vhost = vhostself.user = userself.passwd = passwd# 返回3种消息数量:ready, unacked, totaldef getMessageCount(self):now = time.strftime("%Y-%m-%d %H:%M:%S")print('Start time:%d',now)url = 'http://%s:15672/api/queues/%s' % (self.host, self.vhost)r = requests.get(url, auth=(self.user, self.passwd))print(r)if r.status_code != 200:return -1dic = json.loads(r.text)for item in dic:ready, unacked, total ,name= item['messages_ready'], item['messages_unacknowledged'], item['messages'], item['name']if ready >0 or unacked >0 or total >0:msg = """ready:%dunacked:%dtotal:%dqueryName:%stime:%s"""%(ready,unacked,total,name,now)sentMail(msg)print('ready: %d' % ready)print('unacked: %d' % unacked) print('total: %d' % total)#return dic['messages_ready'], dic['messages_unacknowledged'], dic['messages']now = time.strftime("%Y-%m-%d %H:%M:%S")print('End time:%d',now)def sentMail(content):try:sender_qq_mail = '发件人邮邮'#收件人邮箱receiver = ['收件人1','收件人2']smtp = smtplib.SMTP() msg = MIMEText(content, "plain", 'utf-8')msg["Subject"] = Header("队列堵塞提醒", 'utf-8')msg["From"] = "系统管理员"msg["To"] = ','.join(receiver)smtp.connect('smtp.exmail.qq.com') print(msg)smtp.login(sender_qq_mail, '你的密码') smtp.sendmail(sender_qq_mail,receiver,msg.as_string()) smtp.quit()except Exception as e:print(e)if __name__ == '__main__': mqTool = RabbitMQTool(host = '列表ip',vhost = '%2F',user = '登录名',passwd = '密码')mqTool.getMessageCount()
Python监听RabbitMq ready数量相关推荐
- textfield监听输入汉字数量
2019独角兽企业重金招聘Python工程师标准>>> ###textfield监听输入汉字数量 首先我们给textfield添加一个事件,当文字改变的时候调用 [self.name ...
- 【做一下1】python 监听数据库变化
前言 用的yolov5,作者自己写的loadStream函数就是依据 streams.txt里面的rtsp流地址列表来新建线程,然后实现多路监控的. 大体就是这个图里面说的,我已经是为了个整体业务,去 ...
- 七十八、SpringBoot监听rabbitmq和创建交换器,队列
@Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 文章目录 AmqpAdm ...
- golang gin 监听rabbitmq队列无限消费
golang gin 监听rabbitmq队列无限消费 连接rabbitmq package databaseimport ("github.com/streadway/amqp" ...
- python监听扫码枪扫描数据
背景:当扫码枪扫描达到输入的数量N时,自动调用打印机打印N个数据的二维码. 实现:因为需要一直监听扫码枪扫描数据的状态,因此创建线程.但是在调试的时候发现,扫码枪扫描的数据并不是一次性出来的,而是一个 ...
- python监听文件更改记录_如何用机器人监听老板微信?
随着微信社交的兴起,我们加入的群也越来越多,一个不经意就被拉入好几个群,群是大家协同交流的平台,但是微信群却越来越泛滥,不知道大家有没有统计过自己浪费在毫无营养的群中的时间? 因为群质量或者群太吵的 ...
- python监听文件最后修改人_Python持续监听文件变化代码实例
在日常的工作中,有时候会有这样的需求,需要一个常驻任务,持续的监听一个目录下文件的变化,对此作出回应. pyinotify就是这样的一个python包,使用方式如下: 一旦src.txt有新的内容,程 ...
- python监听鼠标事件_Python中使用PyHook监听鼠标和键盘事件实例
Python 中使用 PyHook 监听鼠标和键盘事件实例 PyHook 是一个基于 Python 的"钩子"库,主要用于监 听当前电脑上鼠标和键盘的事件.这个库依赖于另一个 Py ...
- python监听多个udp端口_Python的Socket编程过程中实现UDP端口复用的实例分享
关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络 ...
最新文章
- 基于jquery的ajax聊天室系统,基于jQuery的Ajax聊天室应用毕业设计(含外文翻译)...
- 杀毒软件全免费遭厂家“抵制”
- linux 邮件开源工具_使用Linux和开源工具编写剧本
- Unable to add window -- token android.os.BinderProxy---Android原生开发工作笔记142
- python学习笔记(十六)-Python多线程多进程
- python手机壁纸超清_【原创】Python必应超清壁纸爬虫
- 关于一个简单算法的递归和循环转换实现
- CentOS + PyCharm 环境下使用 LIBSVM(及 unresolved reference 问题的解决)
- AspectJWeaver
- 基于MATLAB的说话人语音识别声纹识别系统
- 用redis统计页面的访问量
- 《论持久战》的主要原则
- 内网集群 无法通信_IPSEC连接成功,内网之间却无法互相通信。
- 2022 年第十二届 MathorCup D 题 移动通信网络站址规划和区域聚类问题附matlab代码
- Android自定义录制视频
- 北京大学暑期学校总结
- STM32堆栈溢出的主要的问题和现象
- Excel 使用vba脚本按条件清除行数据
- 《STL源码剖析》-- stl_list.h
- 三十而已 豆瓣短评分析
热门文章
- 习题4-7 最大公约数和最小公倍数 (15分)
- windows专业版以上使用自带远程连接(不限制于局域网)
- Vuepress-theme-reco 构建静态网页错误:在格式错误时超出了最大调用堆栈大小
- 如何打开计算机无线功能灰色,计算机没有wifi,仅显示宽带连接. 右键单击灰色的无线网络连接图...
- NLP学习笔记30-SVM 对偶、KTT,核函数
- forward() takes 2 positional arguments but 3 were given
- 哪种计算机支持刻录功能,哪种软件更适合刻录CD |用flac刻录CD的方法
- 自控原理入门详解**********
- 【钉钉】通过钉钉机器人抓取群消息
- PDD卖百度网盘超级会员,是怎么做到销量10万+的?