位置: 编程技术 - 正文

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

  • 关税税收优惠记忆口诀
  • 产品模板是固定的吗
  • 用友t3核算管理模块怎么结账
  • 以前年度损益调整影响本年利润
  • 公司承担个人社保部分福利
  • 两家公司原材料能否借用
  • 企业电子支付
  • 个人境外汇款有限制吗知乎
  • 可税前扣除的工资
  • 建筑施工企业预交税款
  • 公路工程营改增
  • 混合销售如何做会计分录
  • 最新房产税费
  • 二手房房产税税率
  • 增值税如何填报
  • 没有成本票怎么做成本
  • 普通发票和增值税专用发票有什么异同
  • 上缴税金包括什么
  • 税务师入会与不入会冲突
  • 吸收合并公司后的债务处理
  • 个人缴纳公积金有什么好处
  • 电脑经常蓝屏修复
  • 商品售价有规定吗
  • 笔记本电脑按键掉了怎么修
  • 如何设置谷歌浏览器语言为中文
  • PHP:preg_replace()的用法_PCRE正则函数
  • 公司并购的税务处理办法
  • 企业委托境外研发所发生的费用
  • 固定资产残料收税吗
  • PHP:is_writeable()的用法_Filesystem函数
  • 商业银行提取的贷款损失准备金
  • 公司怎么查已报销发票
  • 应酬用的香烟
  • 现金流方法
  • 消费税的计算过程
  • 国产版忠犬八公观后感
  • 前端这点事
  • 水利建设基金的计税依据及税率
  • 提存计划怎么算
  • 分公司改为子公司的所得税业务处理?
  • 微信小程序项目中app.js文件是全局样式文件
  • yii2框架从入门到精通
  • 钱进公账怎么转账给别人
  • java数组合并变字符串
  • sql 行列转换
  • 出口结汇有哪些常用方法?
  • 其他应付款包括应付股利和应付利息吗
  • 其他支出怎么做账
  • 财务负责人需要工商登记吗
  • 银行主账户和子账户能独立使用吗
  • 教育培训业能享受补贴吗
  • 应交税费科目的核算内容
  • 减值损失对公司有哪些影响
  • 当月财务费用怎么算
  • 企业现金预算包括什么
  • 企业录用失业人员补贴
  • 已经入库的商品出库了要怎么做会计分录
  • 跨年取得的发票
  • 原材料暂估的账务处理
  • 怎么用u盘装驱动
  • 七彩虹主板 csm
  • linux i
  • linux vps 教程
  • xp系统本地连接启用不了
  • 苹果mac os x 怎么样使用光盘
  • 查看 linux版本
  • win10无法使用内置管理员账户
  • win8.0下载
  • 做网页需要域名吗
  • opengl基本图形绘制
  • 实现一个完整的主要任务
  • jquery滚动事件
  • js new()
  • django for
  • jquery改变img的src
  • 快速排序的算法流程图
  • python中getattr函数例子
  • 云南省新农合网上缴费app
  • 工商局税务局合并了吗
  • 如何抵扣缴纳增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设