rabbitmq消息订阅发布
Posted jintian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq消息订阅发布相关的知识,希望对你有一定的参考价值。
fanout: 广播 , exclusire=True 随机唯一的
广播模式:实时的
import pika import sys credentials = pika.PlainCredentials(‘alex‘, ‘alex123‘) connection = pika.BlockingConnection(pika.ConnectionParameters( ‘192.168.14.52‘,credentials=credentials)) channel = connection.channel() channel.exchange_declare(exchange=‘logs‘,type=‘fanout‘) message = ‘ ‘.join(sys.argv[1:]) or "info: Hello World!" channel.basic_publish(exchange=‘logs‘, routing_key=‘‘, body=message) print(" [x] Sent %r" % message) connection.close()
import pika credentials = pika.PlainCredentials(‘alex‘, ‘alex123‘) connection = pika.BlockingConnection(pika.ConnectionParameters( ‘192.168.14.52‘,credentials=credentials)) channel = connection.channel() channel.exchange_declare(exchange=‘logs‘, type=‘fanout‘) result = channel.queue_declare(exclusive=True) # 不指定queue名字,rabbit会随机分配一个名字,exclusive=True会在使用此queue的消费者断开后,自动将queue删除 queue_name = result.method.queue channel.queue_bind(exchange=‘logs‘, queue=queue_name) print(‘ [*] Waiting for logs. To exit press CTRL+C‘) def callback(ch, method, properties, body): print(" [x] %r" % body) channel.basic_consume(callback, queue=queue_name,no_ack=True) channel.start_consuming()
以上是关于rabbitmq消息订阅发布的主要内容,如果未能解决你的问题,请参考以下文章