Rabbitmq 极简实现
参考 https://www.jianshu.com/p/9a137cff153c 加以修改
web 监控台启动
cmd进入rabbitmq安装目录sbin目录rabbitmq-plugins enable rabbitmq_managementrabbitmqctl start_apphttp://localhost:15672账号 guest密码 guest
简单实现类
# -*- coding: utf-8 -*-
# by dl
import pikaclass MessageQueue:def __init__(self,host='localhost',queueName='TestQueue',exchange='',body='Hello World',consumer_tag=''):self.host = hostself.queueName = queueNameself.exchange = exchangeself.body = bodyself.consumer_tag = consumer_tagdef SPsend(self):connection = pika.BlockingConnection(pika.ConnectionParameters(self.host))channel = connection.channel()channel.queue_declare(queue=self.queueName)channel.basic_publish(exchange=self.exchange, routing_key=self.queueName, body=self.body)print("[x] Seng 'Hello World!;'")connection.close()# 这里的接收参数不能少def callback(self, ch, method, properties, body):# print(ch)# print(method)# print(properties)print(body)# if basic_consume 中 auto_ack = True 请不要执行# if basic_consume 中 auto_ack = False 这里是执行完后手动返回确认信息 然后删除ch.basic_ack(delivery_tag=method.delivery_tag)print('回调执行完毕')passdef SPreceive(self):# 重新声明队列 以防先执行了接收函数connection = pika.BlockingConnection(pika.ConnectionParameters(self.host))channel = connection.channel()channel.queue_declare(self.queueName)# auto_ack=True 标识没有确认就删除消息队列channel.basic_consume(queue=self.queueName,on_message_callback=self.callback,auto_ack=False,consumer_tag=self.consumer_tag,)# self._basic_consume_impl(# queue=queue,# on_message_callback=on_message_callback,# auto_ack=auto_ack,# exclusive=exclusive,# consumer_tag=consumer_tag,# arguments=arguments)channel.start_consuming()connection.close()mq = MessageQueue()
mq.SPsend()
mq.SPreceive()
Rabbitmq 极简实现相关推荐
- Spring Cloud Alibaba迁移指南(三):极简的 Config
自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...
- Spring Cloud Alibaba迁移指南(三):极简的 Config 1
自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...
- 软件的极简主义的三个大敌:配置文件,冗余的参数,和大量复杂的接口。
软件的极简主义 设想一下,需要找出包含某几个关键词的文章,必要的条件是什么?关键词,文档,没了. 而文档是存储在服务器的,为什么我们提供了关键词之后,仍需加上各种条件,他才能告诉我们想要的答案呢?软件 ...
- 芋道 Apollo 极简入门
点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...
- Asky极简教程:零基础1小时学编程,已更新前8节
Asky极简架构 开源Asky极简架构.超轻量级.高并发.水平扩展.微服务架构 <Asky极简教程:零基础1小时学编程>开源教程 零基础入门,从零开始全程演示,如何开发一个大型互联网系统, ...
- RepVGG:极简架构,SOTA性能,论文解读
** RepVGG:极简架构,SOTA性能,论文解读 ** 更新:RepVGG的更深版本达到了83.55%正确率!PyTorch代码和模型已经在GitHub上放出.DingXiaoH/RepVGG 2 ...
- 业务逻辑组件化android,AppJoint 极简 Android 组件化方案
AppJoint 极简 Android 组件化方案.仅包含 3 个注解加 1 个 API,超低学习成本,支持渐进式组件化. 开始接入 在项目根目录的 build.gradle 文件中添加 AppJoi ...
- Spring Boot 极简集成 Shiro
点击关注公众号,Java干货及时送达 1. 前言 Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理. Shiro有三大核心组件: Subject: ...
- 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 什么,7 ...
最新文章
- Dirichlet前缀和及其拓展
- 最小二乘算法MATLAB代码实现
- 简单的WinInet编程
- 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序
- 前端 JS 如何在一个页面中局部加载其它页面的数据
- python中反向切片用法_使用Python中的切片[:0:-1]反转列表
- C语言32个关键字总结
- java自定义方法使用_Java 自定义方法
- java一年制培训_学Java学了一年,怎么找实习?
- 服务器多路径 映射分区找不到,设备映射多路径DM-Multipath
- ADO:用代码调用存储过程
- 安卓 App 库存系统开发 基础版本
- 数据库基础:什么是MySQL?
- 泰山OFFICE笑而不语
- [转载]高效程序员应该养成的七个习惯
- 树莓派开发笔记(七):GPIO口的SPI使用(BME280三合一传感器:测量温度、湿度、气压、海拔高度)
- 跟Android自带模拟器说拜拜,Mac Genymotion 使用心得
- MySQL系列教程(五)
- 皮卡丘(pikachu) 文件上传
- python plt.imshow函数显示图像颜色失真
热门文章
- 1.java注释的类型_HappyBKs教你写Java注解(1)——注解的分类、运行机制、作用域及概念汇总...
- mysql给数据做排名_mysql给数据统计做排名
- python内置的读取文件函数_Python函数篇(3)-内置函数、文件处理(已更新)
- 随着计算机多媒体技术的产生和发展,多媒体技术及其应用与发展论文(本科)10...
- 每天一个linux命令(7):mv命令
- C++【力扣LeetCode算法题库】47. 全排列 II
- 【Java Web开发指南】解析Spring中Ioc和DI(入门Demo)
- linux通信中recv,linux套接字通信之recv中的缓存机制的研究
- python多进程优化_『Python』多进程处理
- 简单linux蠕虫,清除Linux系统上的蠕虫程序Ramen