广播模式下的生产者与消费者fanout模式
生产者
#coding=utf-8
import pika
import sys
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) #建立socket连接可以加各种参数,端口,用户名,等
channel = connection.channel() #声明一个管道 channel.exchange_declare(exchange='logs',exchange_type='fanout') #声明广播
channel.basic_publish(exchange='logs',routing_key='',
body = 'hellow,word',#队列的名字、消息内容 ) print 'send hellow,word'
connection.close()
消费者
#coding=utf-8
import pika
import time
connection = pika.BlockingConnection(pika.ConnectionParameters(host = 'localhost'))
channel = connection.channel()
channel.exchange_declare(exchange='logs'
exchange_type='fanout') #直接加位置参数会出错,必须指定参数 result = channel.queue_declare(exclusive=True)#生成一个随机队列,用完之后删除
queue_name = result.method.queue channel.queue_bind(exchange='logs',queue=queue_name) def callback(ch,method,properties,body): #回调函数
print '收到消息:',body
time.sleep(30)
print '消息处理完毕:', body
channel.basic_consume(callback,queue=queue_name
#no_ack=True 需要客户端确认,如果正在处理消息的时候客户端挂掉就会转到下一个客户端,会等待消息完整的处理完
)#如果收到消息就调用callback来处理消息
print '等待接收消息。。。。。'
channel.start_consuming() #循环持续运行下去 #消息持久化
广播模式下的生产者与消费者fanout模式的更多相关文章
- java生产者/消费者模式实现——一生产者一消费者(操作值)
胶多不粘话多不甜,直接上代码: 生产者类: /** * Created by 51304 on 2016/2/28. */ public class P { private String lock; ...
- 解决部分在Debug模式下程序没问题但是Release模式下出现问题的方法
编译策略介绍 关于优化级别:GCC_OPTIMIZATION_LEVEL 描述如下 None: Do not optimize. [-O0]With this setting, the compil ...
- Linux centosVMware Vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、vim一般模式下复制、剪切和粘贴
一.Vim介绍 vim 是一款功能强大的文本编辑器,是vi的升级版,带有颜色显示, 默认有三种模式:一般模式, 命令模式, 编辑模式 安装Vim [root@davery ~]# vim /et ...
- c# Queue实现生产者(Producer)消费者(Consumer)模式
我们在开发过程中经常会遇到需要从一个地方不断获取数据然后又需要交给另一个线程对数据进行二次加工的情况,这种场景适合使用生产者-消费者模式. Demo展示 //中间的容器 public static c ...
- java生产者与消费者模式
前言: 生产者和消费者模式是我们在学习多线程中很经典的一个模式,它主要分为生产者和消费者,分别是两个线程, 目录 一:生产者和消费者模式简介 二:生产者和消费者模式的实现 声明:本例来源于java经典 ...
- java线程基础巩固---多线程下的生产者消费者模型,以及详细介绍notifyAll方法
在上一次[http://www.cnblogs.com/webor2006/p/8419565.html]中演示了多Product多Consumer假死的情况,这次解决假死的情况来实现一个真正的多线程 ...
- Debug模式下编译溢出问题
问题: 代码在Debug模式下编译报出内存溢出的错误,而Release模式下则没有. 由于Debug模式下包含调试信息,并且不作任何优化.而Release模式进行了各种优化,内存检测等操作均省去,使得 ...
- 解决360、猎豹浏览器等极速模式下css3兼容问题
有时候你会发现你写的animation动画的css3效果,在IE.谷歌.火狐等主流的新版本的浏览器的是没有什么兼容问题的,即便你不写前缀,也是可以显示动画效果的.然后,你本地在360浏览器或猎豹浏览器 ...
- Spark Streaming揭秘 Day30 集群模式下SparkStreaming日志分析
Spark Streaming揭秘 Day30 集群模式下SparkStreaming日志分析 今天通过集群运行模式观察.研究和透彻的刨析SparkStreaming的日志和web监控台. Day28 ...
随机推荐
- 18-基于双TMS320C6678 DSP的3U VPX的信号处理平台
基于双TMS320C6678 DSP的3U VPX的信号处理平台 一.板卡概述 板卡由我公司自主研发,基于3U VPX架构,处理板包含两片TI DSP TMS320C6678芯片:一片Xilinx公司 ...
- Codeforces917E
//#include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #i ...
- php内置函数分析之ucfirst()、lcfirst()
ucfirst($str) 将 str 的首字符(如果首字符是字母)转换为大写字母,并返回这个字符串. 源码位于 ext/standard/string.c /* {{{ php_ucfirst Up ...
- 触发写Redo Log的条件
参见:http://www.ixora.com.au/notes/redo_write_triggers.htm http://www.eygle.com/archives/2005/02/redoa ...
- VUE的系统指令
1. -text原样渲染,渲染文本 2.-html HTML渲染页面 举例: <!doctype html> <html lang="en"> < ...
- Android Release 打包提示 "错误:找不到符号"
搞了一上午....必须记录下来
- maven之assembly插件
传送门 https://blog.csdn.net/WANGYAN9110/article/details/38646677/ http://blueram.iteye.com/blog/168407 ...
- php随机数原理
php随机数原理: 系统自动生成一个随机数种子(mt_srand函数可以自己生成种子),mt_rand先判断是否有生成种子,没有就自动生成一个,然后根据种子生成随机数. 生成10000-99999随机 ...
- BZOJ 4407: 于神之怒加强版 莫比乌斯反演 + 线筛积性函数
Description 给下N,M,K.求 Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意 ...
- RabbitMQ-Window安装(一)
1.登录RabbitMq官网http://www.rabbitmq.com/ 2.点击Get Started 3.点击Download+Installation 4.找到Windows,点击 5.点击 ...