python消息订阅_python rabbitmq消息发布订阅
發送端:import?pika
import?sys
connection?=?pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel?=?connection.channel()
channel.exchange_declare(exchange='logs',exchange_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
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名字,rabbit會隨機分配一個名字,exclusive=True會在使用此queue的消費者斷開后,自動將queue刪除
queue_name?=?result.method.queue
print(queue_name)
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()
exchange不會保存數據,如果沒客戶端接受,就丟棄,也就是說,客戶端會丟失啟動前發送端發送的數據。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python消息订阅_python rabbitmq消息发布订阅的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rostcm6情感分析案例分析_电商评论
- 下一篇: python图标icon_用Python