# -*- coding: utf-8 -*- # rabbitmq 订阅者 import pika credentials = pika.PlainCredentials('guest', 'guest') #链接rabbit服务器(localhost是本机,如果是其他服务器请修改为ip地址) connection = pika.BlockingConnection(pika.ConnectionParameters('192.168.199.11',5672,'/',credentials)) channel = connection.channel() # 定义交换机,进行exchange声明,exchange表示交换机名称,type表示类型 channel.exchange_declare(exchange='logs_fanout', exchange_type='fanout') # 随机创建队列 # result = channel.queue_declare(exclusive=True) #pip老版本用这种写法 0.12 pika写法 result = channel.queue_declare(queue='',exclusive=True) # pipa:1.01版本写法:exclusive=True表示建立临时队列,当consumer关闭后,该队列就会被删除 queue_name = result.method.queue #得到随机队列的名字 print('随机队列名字',queue_name) # 将队列与exchange进行绑定 channel.queue_bind(exchange='logs_fanout', queue=queue_name) print('[消费者接受消息...........]. To exit press CTRL+C') def callback(ch, method, properties, body): print("[收到消息:] %r" % body) # 从队列获取信息 channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True) channel.start_consuming()