• 实例1消费者


    #coding=utf-8
    import pika
    import time
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    channel.queue_declare(queue='hellow',#这里为什么会重新声明一个队列,是因为不确定是客户端先启动还是服务端先启动,所以先确认队列存在
                          durable=True) #防止rabbitmq服务器挂掉数据丢失了,队列持久化,durable只保存了队列,不保存队里里面的数据
    def callback(ch,method,properties,body):  #回调函数
        print '收到消息:',body
        time.sleep(30)
        print '消息处理完毕:', body
    channel.basic_consume(callback,queue='hellow',
                          #no_ack=True  需要客户端确认,如果正在处理消息的时候客户端挂掉就会转到下一个客户端,会等待消息完整的处理完
                          )#如果收到消息就调用callback来处理消息
    print '等待接收消息。。。。。'
    channel.start_consuming()   #循环持续运行下去
    
    #消息持久化
    

     已经定义的队列,再次定义是无效的,这就是幂次原理。RabbitMQ不允许重新定义一个已有的队列信息,也就是说不允许修改已经存在的队列的参数。如果非要这样做,只会返回异常。

  • 相关阅读:
    Nginx降权启动
    Tomcat降权启动
    【转载】XSS学习笔记
    仪仗队(容斥,欧拉,打表)
    2012蓝桥杯
    HPU周赛题目解析
    蓝桥杯真题集2011
    cf公式专场-续
    24点游戏&&速算24点(dfs)
    Parallelogram Counting(平行四边形个数,思维转化)
  • 原文地址:https://www.cnblogs.com/qiangayz/p/8648153.html
Copyright © 2020-2023  润新知