接口使用两个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. 使用 WireShark 分析 TCP/IP 三次握手 和 四次挥手

    TCP 三次握手 示意图 Wireshark 抓包注意事项 为了演示一个TCP三次握手建立连接的过程,我们通过 Chrome 访问一个网页. 已知 HTTP 协议就是建立在TCP链接上的 比如访问以下 ...

  2. java计数

    计数 package com.demo; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent ...

  3. Excel删除空白行和列

    Sub DeleteEmptyRows() Dim LastRow As Long, r As Long LastRow = ActiveSheet.UsedRange.Rows.Count Last ...

  4. php查找字符串中第一个非0的位置截取

    $str = '00000000000000000000000000000000000000001234506'; $preg = '/[0]*/'; $result = preg_replace($ ...

  5. 深入理解javascript原型和闭包_____全部

    http://www.cnblogs.com/wangfupeng1988/p/3977924.html

  6. BBS登录与注册功能

    登录功能 视图函数 def my_login(request): if request.method == 'GET': return render(request, 'login.html') el ...

  7. easyui汉化啊!

    <script type="text/javascript" src="__PUBLIC__/jquery-easyui-1.4.4/locale/easyui-l ...

  8. 【Python】Python3基本语法入门学习

    0.Python概述 1.First Word Game 2.变量与字符串 3.improved game 4.Python数据类型 5.常用操作符 6.分支与循环 7.列表 8.元组 9.字符串内置 ...

  9. M-PalindromeP-DP

    Palindrome Partitioning 动态规划+深度优先搜索 https://leetcode.com/discuss/23480/c-solution-with-dp-and-dfs-12 ...

  10. nginx的开机自启、server命令启动、nginx.conf配置

    1.将Nginx设置为开机自动启动 a.当上面6步完成之后,说明安装已经完全成功了,但是每次开机我们面临的一个问题,就是每次都要执行命令(1: cd /usr/local/nginx/sbin/   ...