接口使用两个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的更多相关文章

  1. rabbitmq template发送的消息中,Date类型字段比当前时间晚了8小时

    前言 前一阵开发过程遇到的问题,用的rabbitmq template发送消息,消息body里的时间是比当前时间少了8小时的,这种一看就是时区问题了. 就说说为什么出现吧. 之前的配置是这样的: @B ...

  2. 第二百九十二节,RabbitMQ多设备消息队列-Python开发

    RabbitMQ多设备消息队列-Python开发 首先安装Python开发连接RabbitMQ的API,pika模块 pika模块为第三方模块  对于RabbitMQ来说,生产和消费不再针对内存里的一 ...

  3. SpringBoot整合RabbitMQ,实现消息发送和消费以及多个消费者的情况

    下载安装Erlang和RabbitMQ Erlang和RabbitMQ:https://www.cnblogs.com/theRhyme/p/10069611.html AMQP协议 https:// ...

  4. rabbitmq实现一台服务器同时给指定部分的consumer发送消息(tp框架)(第六篇)

    previous article:  http://www.cnblogs.com/spicy/p/7989717.html 上一篇学习了,发送消息的时候用direct类型的exchange,绑定不同 ...

  5. rabbitmq实现一台服务器同时给所有的consumer发送消息(tp框架)(第四篇)

    之前的学习了把消息直接publish到queue里面,然后consume掉, 真实的情况,我们会把消息先发送到exchange里面,由它来处理,是发给某一个队列,还是发给某些队列,还是丢弃掉? exc ...

  6. 【python】-- RabbitMQ Publish\Subscribe(消息发布\订阅)

    RabbitMQ RabbitMQ Publish\Subscribe(消息发布\订阅) 1对1的消息发送和接收,即消息只能发送到指定的queue里,但这样使用有些局限性,有些时候你想让你的消息被所有 ...

  7. rabbitMQ学习笔记(六) topic类型消息。

    上一节中使用了消息路由,消费者可以选择性的接收消息. 但是这样还是不够灵活. 比如某个消费者要订阅娱乐新闻消息 . 包括新浪.网易.腾讯的娱乐新闻.那么消费者就需要绑定三次,分别绑定这三个网站的消息类 ...

  8. 2.RabbitMQ 的可靠性消息的发送

      本篇包含 1. RabbitMQ 的可靠性消息的发送 2. RabbitMQ 集群的原理与高可用架构的搭建 3. RabbitMQ 的实践经验   上篇包含 1.MQ 的本质,MQ 的作用 2.R ...

  9. 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)

    以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...

随机推荐

  1. influxdb 端口、数据结构、写数据

    InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库. InfluxDB有三大特性: Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求 ...

  2. App Not Responsing

    参见原文:http://rayleeya.iteye.com/blog/1955657 inputDispatchingTimedOut contentProviderNotResponsing se ...

  3. 排序算法Nb三人组-快速排序

    核心思想: 将列表中第一个元素拿出来,放到一边,左右两个循环,左面的大于拿出来的数,就把他挪到右面, 右面的小于拿出来的数就把他放在左面,这是列表被第一个元素''分''为两个列表,在对两个列表进行同样 ...

  4. javascript闭包中循环问题

    如下的html,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5. <html > <head> <meta http-equiv=&quo ...

  5. iview中upload组件上传图片,跨域

    前提:先前开发了一个A项目,A项目中有一套上传图片的接口,现在开发B项目. B项目开发中用iview中的upload组件上传图片,用到了A项目中上传接口,爬坑经历 1.涉及到了跨域解决:后台配置一下文 ...

  6. MongoDB 删除集合

    drop() 方法 MongoDB 的 db.collection.drop() 是用来从数据库中删除一个集合. 语法: drop() 命令的基本语法如下 db.COLLECTION_NAME.dro ...

  7. KMP算法的一个简单实现

    今天学习KMP算法,参考网上内容,实现算法,摘录网页内容并记录自己的实现如下: 原文出处: http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93M ...

  8. vue2.0 生命周期 简析

    Vue2.0 生命周期钩子函数: <template> <div id='app'> {{message}} </div> </template> va ...

  9. c# 值类型与引用类型(转)

    本文意在巩固基础知识,并不是对其进行深入剖析,还望理解.本文是对此项知识的整理文,有些内容来源于网络,其他为博主原创,所以难免会有一些小得瑕疵,敬请谅解.所有示例均是博主测试过的,如有转载请标明出处, ...

  10. 关于cookie的详解

    http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html