RabbitMQ + topic发送消息+python
接口使用两个queue监听信息,且有两个测试环境,所以需要向mq中发送测试数据:
python使用pika包:Pika is a RabbitMQ (AMQP-0-9-1) client library for Python.
可以参照: https://github.com/pika/pika
import pika
connection = pika.BlockingConnection()
channel = connection.channel()
channel.basic_publish(exchange='example',
routing_key='test',
body='Test Message')
connection.close()
将发送消息封装成一个函数:stream.py
具体代码如下:
import pika
import json
from config import env def send_msg(msg_exchange, msg_key, msg, msg_type=None):
if str(env.__name__) == 'Beta':
if msg_type is None:
connection = pika.BlockingConnection(pika.URLParameters(
'amqp://talaris:talaris@vpcb-talaris-mq-1.vm.elenet.me:5672/talaris'))
else:
connection = pika.BlockingConnection(pika.URLParameters(
'amqp://talaris:talaris@vpcb-talaris-mq-1.vm.elenet.me:5672/clair')) elif str(env.__name__) == 'Alpha':
if msg_type is None:
connection = pika.BlockingConnection(pika.URLParameters(
'amqp://talaris:talaris@vpca-talaris-mq-1.vm.elenet.me:5672/talaris'))
else:
connection = pika.BlockingConnection(pika.URLParameters(
'amqp://talaris:talaris@vpca-talaris-mq-1.vm.elenet.me:5672/clair')) channel = connection.channel() channel.basic_publish(exchange=msg_exchange,
routing_key=msg_key,
body=json.dumps(msg)) print(" [x] Sent %r:%r" % (msg_key, msg))
connection.close() ps: 我用的是pika.URLParameters,也可以使用 pika.ConnectionParameters(host='localhost'),详细参考github
RabbitMQ + topic发送消息+python的更多相关文章
- rabbitmq template发送的消息中,Date类型字段比当前时间晚了8小时
前言 前一阵开发过程遇到的问题,用的rabbitmq template发送消息,消息body里的时间是比当前时间少了8小时的,这种一看就是时区问题了. 就说说为什么出现吧. 之前的配置是这样的: @B ...
- 第二百九十二节,RabbitMQ多设备消息队列-Python开发
RabbitMQ多设备消息队列-Python开发 首先安装Python开发连接RabbitMQ的API,pika模块 pika模块为第三方模块 对于RabbitMQ来说,生产和消费不再针对内存里的一 ...
- SpringBoot整合RabbitMQ,实现消息发送和消费以及多个消费者的情况
下载安装Erlang和RabbitMQ Erlang和RabbitMQ:https://www.cnblogs.com/theRhyme/p/10069611.html AMQP协议 https:// ...
- rabbitmq实现一台服务器同时给指定部分的consumer发送消息(tp框架)(第六篇)
previous article: http://www.cnblogs.com/spicy/p/7989717.html 上一篇学习了,发送消息的时候用direct类型的exchange,绑定不同 ...
- rabbitmq实现一台服务器同时给所有的consumer发送消息(tp框架)(第四篇)
之前的学习了把消息直接publish到queue里面,然后consume掉, 真实的情况,我们会把消息先发送到exchange里面,由它来处理,是发给某一个队列,还是发给某些队列,还是丢弃掉? exc ...
- 【python】-- RabbitMQ Publish\Subscribe(消息发布\订阅)
RabbitMQ RabbitMQ Publish\Subscribe(消息发布\订阅) 1对1的消息发送和接收,即消息只能发送到指定的queue里,但这样使用有些局限性,有些时候你想让你的消息被所有 ...
- rabbitMQ学习笔记(六) topic类型消息。
上一节中使用了消息路由,消费者可以选择性的接收消息. 但是这样还是不够灵活. 比如某个消费者要订阅娱乐新闻消息 . 包括新浪.网易.腾讯的娱乐新闻.那么消费者就需要绑定三次,分别绑定这三个网站的消息类 ...
- 2.RabbitMQ 的可靠性消息的发送
本篇包含 1. RabbitMQ 的可靠性消息的发送 2. RabbitMQ 集群的原理与高可用架构的搭建 3. RabbitMQ 的实践经验 上篇包含 1.MQ 的本质,MQ 的作用 2.R ...
- 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)
以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...
随机推荐
- Java 基础(6)——关键字 & 标识符 & 转义字符
依然是基础的一天,看一看就好~ 关键字 之前就有说过关键字哦~ 注:关键字就是程序发明者规定的有特殊含义的单词. from Java基础(2) Java 中除了关键字以外还有暂时没有成为关键字的保留字 ...
- C# WCF服务入门
之前在公司用的服务端是wcf写的,但是没有深入研究,最近找工作,面试的时候好多人看到这个总提问,这里做个复习 就用微软官方上的例子,搭一个简单的wcf服务,分6步 1 定义服务协定也就是契约,其实就是 ...
- websocket 和 dwr 做web端即时通信
一.WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算) 首先HTTP有1.1和1.0之说,也就是所谓的k ...
- eclipse Java类 红色感叹号 commit失败
解决方法: 1.进入java类文件所在物理目录 (e:\workspace\myproject\...) 2. 删除多余的版本管理工具的文件或文件夹(如 .svn) 3. 刷新eclipse工程 4 ...
- Ajax与jsonp
1.ajax的概念 AJAX = Asynchronous Javascript And XML (AJAX = 异步 javascript 和 xml) AJAX是一种无需重新加载整个网页的 ...
- Javascript 多物体淡入淡出(透明度变化)
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- VC编程操作word2010生成表格
作者:朱金灿 来源:http://blog.csdn.net/clever101 一. 右键单击工程节点,然后选择添加类,如下图: 二. 添加TypeLib中的MFC类,如下图: 三. 选 ...
- ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误
ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误 1.测试环境说明 ArcSDE版本:10.2.2 Oracle版本:12.1.0.1和11. ...
- python生成html表格
最近做一个小工具,需要将统计数据生成html表格.在网上搜罗一圈后发现用pandas生成表格非常好用.代码如下: import pandas as pd def convertToHtml(resul ...
- Java 调用 Rest api 设置经典 Linux 虚拟机的实例启停
现象描述 用户可以通过 Rest API 设置经典 Linux 虚拟机实例的启停.在调用该 API 时需要通过 Azure Active Directory(下文简称 AAD) 获取 Token,但是 ...