位置: 编程技术 - 正文

Python操作RabbitMQ服务器实现消息队列的路由功能(python操作mongodb数据库)

编辑:rootadmin

推荐整理分享Python操作RabbitMQ服务器实现消息队列的路由功能(python操作mongodb数据库),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python操作符的优先级,python操作符的优先级,python操作微信自动发消息,python操作网页界面,python操作网页界面,python操作微信自动发消息,python操作网页界面,python操作doc文件,内容如对您有帮助,希望把文章链接给更多的朋友!

Python使用Pika库(安装:sudo pip install pika)可以操作RabbitMQ消息队列服务器(安装:sudo apt-get install rabbitmq-server),这里我们来看一下MQ相关的路由功能。

路由键的实现

比如有一个需要给所有接收端发送消息的场景,但是如果需要自由定制,有的消息发给其中一些接收端,有些消息发送给另外一些接收端,要怎么办呢?这种情况下就要用到路由键了。

路由键的工作原理:每个接收端的消息队列在绑定交换机的时候,可以设定相应的路由键。发送端通过交换机发送信息时,可以指明路由键 ,交换机会根据路由键把消息发送到相应的消息队列,这样接收端就能接收到消息了。

这边继上一篇,还是用send.py和receive.py来模拟实现路由键的功能。send.py表示发送端,receive.py表示接收端。实例的功能就是将info、warning、error三种级别的信息发送到不同的接收端。

send.py代码分析

receive.py代码分析

打开两个终端,一个运行代码python receive.py info warning,表示只接收info和warning的消息。另外一个终端运行send.py,可以观察到接收终端只接收到了info和warning的消息。如果打开多个终端运行receive.py,并传入不同的路由键参数,可以看到更明显的效果。

当接收端正在运行时,可以使用rabbitmqctl list_bindings来查看绑定情况。

Python操作RabbitMQ服务器实现消息队列的路由功能(python操作mongodb数据库)

路由键模糊匹配路由键模糊匹配,就是可以使用正则表达式,和常用的正则表示式不同,这里的话“#”表示所有、全部的意思;“*”只匹配到一个词。看完示例就能明白了。

这边继上面的例子,还是用send.py和receive.py来实现路由键模糊匹配的功能。send.py表示发送端,receive.py表示接收端。实例的功能大概是这样:比如你有个知心好朋友,不管开心、伤心、工作上的还是生活上的事情都可以和她说;还有一些朋友可以分享开心的事情;还有一些朋友,你可以把不开心的事情和她说。

send.py代码分析

因为要进行路由键模糊匹配,所以交换机的类型要设置为topic,设置为topic,就可以使用#,*的匹配符号了。

上例中定义了四种类型的消息,容易理解,就不解释了,然后依次发送出去。

receive.py代码分析

同样,交换机的类型要设定为topic就可以了。从命令行接收参数的功能稍微调整了一下,就是没有参数时报错退出。

打开四个终端,一个运行如下,表示任何事情都可以和她说:

另外一个终端 运行如下,表示可以和她分享开心的事:

第三个运行如下,表示工作上的事情可以和她分享:

最后一个运行python send.py。结果不难想象出来,就不贴出来了。

详解Python操作RabbitMQ服务器消息队列的远程结果返回 先说一下笔者这里的测试环境:Ubuntu.+Python2.7.4RabbitMQ服务器sudoapt-getinstallrabbitmq-serverPython使用RabbitMQ需要Pika库sudopipinstallpika远程结果返回消息发送端

浅谈python中set使用 浅谈python中set使用In[2]:a=set()#常用操作1In[3]:aOut[3]:set()In[4]:type(a)Out[4]:setIn[5]:b=set([1,3])In[6]:bOut[6]:{1,3}In[7]:type(b)Out[7]:setIn[8]:b.update(2)------------------------------

python中set常用操作汇总 sets支持xinset,len(set),和forxinset。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持indexing,slicing,或其它类序列(sequence-like)的操作

标签: python操作mongodb数据库

本文链接地址:https://www.jiuchutong.com/biancheng/386984.html 转载请保留说明!

上一篇:Python通过RabbitMQ服务器实现交换机功能的实例教程(Python通过行和列提取数据)

下一篇:详解Python操作RabbitMQ服务器消息队列的远程结果返回(python操作命令)

  • 长期股权投资的入账价值怎么算
  • 免税收入不征税收入有哪些
  • 加油站购进成品油怎么做账
  • 其他个人出租房屋按照多少征收应纳税额
  • 法人购买商业保险能由公司承担吗
  • 航空公司开具的个人抬头的发票可以税前扣除吗
  • 所得税筹划的意义
  • 个体工商户装修经营范围
  • 营改增服务
  • 应收账款坏账计提政策
  • 房地产销售土地增值税纳税人减免申请核准表
  • 住宿费专票可以报销吗
  • 辅导期一般纳税人预缴增值税
  • 2021年沙子水泥税率是多少
  • 税号里的字母是什么
  • 增值税发票查验平台官网网络异常
  • 出口佣金会计分录
  • 暂估成本一直拿不到发票
  • 自然人是否适用财政部税务总局2022年第15号公告
  • 房地产开发企业预收款预缴增值税
  • 苹果手机14pro max
  • mac电脑怎么转移到另一个电脑
  • SQL Server2005、2008如何彻底删除卸载并重新安装?
  • 资产负债表中资产等于什么
  • 住房公积金如何使用
  • php编程风格规范要求
  • 促销费用计入销售费用哪个科目
  • 凭证的类型
  • 资产减值损失的计算公式
  • 研发专利什么意思
  • vue数据更新会触发什么生命周期
  • Stable Diffusion 准确绘制人物动作及手脚细节(需ControlNet扩展)
  • 1.启动前端项目怎么做
  • php 动态执行代码
  • 增值税留抵税额计入什么科目
  • 通往海滩的木板有什么用
  • vue运行报错
  • 市职工报销比例多少
  • 税款入库期是什么意思
  • 公司购买承兑
  • 分公司开票总公司付款可以吗
  • python中insert函数怎么用
  • 委托加工业务的组成计税价格
  • 股东向公司借款超过一年不还
  • 财产租赁合同按金额的多少进行计税
  • sqlgun
  • sqlserver数据库事务
  • 盈利和亏损怎么计算
  • 土地摊销年限是什么意思
  • 房地产企业成本包括哪些
  • 货物运输发票的开票要求
  • 国债逆回购收益什么时候到账
  • 办理食品经营许可证需要什么条件
  • 委外研发费用如何入账
  • 公司验资报告多少钱
  • 以原材料投入资本
  • 主营业务成本和管理费用的区别
  • 自产的产品作为福利增值税
  • sqlserver数据库脚本
  • win7怎么看
  • 不能在windows7里进行设置的网络位置是
  • linux挂载yum
  • linux device driver
  • bootstrap页面代码
  • li的简单应用
  • vmwareUbuntu虚拟机硬盘扩容
  • node.js入门教程
  • 安卓开发框架mvvm
  • python%怎么用
  • python获取本地路径
  • unity资源文件
  • socket restful
  • express app.js
  • node爬取数据
  • unity鼠标控制物体移动
  • jquery获取自定义标签的值
  • js实现简单排列的方法
  • javascript的dom
  • javascript获取复选框的值
  • 小微企业 2018
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设