1. 程式人生 > >RabbitMQie消息列隊整理

RabbitMQie消息列隊整理

rabbit 環境 art blocking 發送 col exc 。。 messages

使用方法過程,這兒只做了windows平臺教程

先安裝Erlang 編程軟件,然後設置環境變量,在安裝RabbimMQ  ,這兒我下載了一個版本不行,後來換了最新片就好了,以後在使用過程 中如果有問題 ,可以換版本試一下,這是個坑。。然後 pip install pipk

在編程器中粘上下代碼測試 先是服務端:

技術分享圖片
import pika

#連接隊列服務器
connection = pika.BlockingConnection(pika.ConnectionParameters(host=localhost))
channel = connection.channel()

#創建隊列。有就不管,沒有就自動創建 channel.queue_declare(queue=hello) #使用默認的交換機發送消息。exchange為空就使用默認的 channel.basic_publish(exchange=‘‘, routing_key=hello, body=Hello 201!) print(" [x] Sent ‘Hello World!‘") connection.close()
View Code

在另一個文件粘上客服端:

技術分享圖片
import pika
import
time # 連接服務器 connection = pika.BlockingConnection(pika.ConnectionParameters(host=localhost)) channel = connection.channel() # rabbitmq消費端仍然使用此方法創建隊列。這樣做的意思是:若是沒有就創建。和發送端道理道理。目的是為了保證隊列一定會有 channel.queue_declare(queue=hello) # 收到消息後的回調 def callback(ch, method, properties, body): print("我收到了,正在等。。
") time.sleep(10) print(" [x] Received %r" % body) channel.basic_consume(callback, queue=hello, #no_ack=True ) print( [*] Waiting for messages. To exit press CTRL+C) channel.start_consuming()
View Code
------------------------------------------------------------------------------
以下是註釋:
channel.basic_consume(callback,
queue=‘hello‘,
#no_ack=True 如果取消註釋就會不等反應,如果客
#服端開閉,沒有外理的消息會丟失
)
在安裝rabbitmq文件夾下有個叫rebbitmqctl的命令可以管裏查看消息隊列
技術分享圖片


RabbitMQie消息列隊整理