位置: 编程技术 - 正文

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操作命令)

  • 半成品可以计入成本吗
  • 开发成本需要结转到存货吗
  • 小规模免税收入账务处理
  • 公司雇佣退休人员怎样扣个税
  • 小企业一定要买五险吗
  • 付款后发票可以抵扣吗
  • 公司股东和自然人股东可否代持股权
  • 个人劳务附加税税率表
  • 简易计税项目税金要计入成本吗
  • 会计核算原则主要包括
  • 进项抵欠税相关政策
  • 确认应收账款不确认收入
  • 包装报废会计处理
  • 不征税收入税收政策
  • 2018年2月1日以后出口发票如何开具
  • 房租合同印花税的计税依据怎么算
  • 汉字防伪企业是哪家
  • 董事会费汇算清缴计入什么科目
  • 小公司发工资怎么做账
  • 软件项目成本包括直接成本和间接成本,一般而言
  • 企业所得税减免政策2023
  • 收入未实现成本怎么进
  • 建筑企业怎么缴纳社保
  • 一般纳税人企业所得税税率多少
  • 非合理损耗会计分录
  • 收到进项税发票如何入账
  • win11预览版dev改beta
  • PHP:imagerectangle()的用法_GD库图像处理函数
  • 违约罚款的会计分录
  • yii2框架从入门到精通pdf
  • 小微企业人员认定标准
  • Win11 Build 25336 预览版发布:Snap 窗口新增最近 20 个标签选项
  • content security policy blob
  • 防抖节流实现原理
  • 数学建模python 怎么用
  • 没有发票能办临时牌照吗
  • dedecms批量发文章
  • 装卸搬运的设备有哪些
  • 变更法人代表是重大事项吗
  • 报税合同
  • 员工工资可以当进项税吗
  • 安全生产费如何计量
  • 管理费用结转到哪个科目
  • 向投资者发放现金红利
  • 在建工程工伤保险延期费用计算
  • 购买汽车的工本费如何入账
  • 什么是发票抬头信息
  • bios怎么恢复出厂设置有什么后果?
  • win7系统开机蓝屏怎么修复
  • win10入门全教程视频
  • linux ipi
  • xp系统无线网络连接怎么没有
  • mac远程桌面mac
  • w10升级失败怎么办
  • win10 edge浏览器设置信任站点
  • 思科用户模式命令
  • 360tray占用大量内存
  • LINUX下的磁盘编辑工具
  • win10/win8.1/win7系统遇到中英文输入法无法切换怎么办?
  • Android NDK Cocos2dx 3.4 Label中文显示
  • ExtJS4 Grid改变单元格背景颜色及Column render学习
  • linux系统中可用于添加用户账号
  • 巨幕prime
  • ie6怎么设置兼容性
  • jquery层级选择器
  • linux中sudo命令的使用方式和作用
  • android.intent.extra.text
  • vue使用jssdk
  • js自定义指令
  • js代码怎么使用
  • python编写简单的计算器加减乘除
  • 粮食的增值税税率怎么算
  • 陕西税务纳税服务平台
  • 江苏增值税电子专用发票可以抵扣吗
  • 小规模纳税人企业所得税怎么征收
  • 买车开增值票是什么意思
  • 发票校验码不清楚
  • 国税申报密码忘了怎么办
  • 广州市地税服务大厅
  • 个人的车租给公司保险可以入账吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设