1. 程式人生 > >Python 訊息佇列rabbitmq使用之入門案例

Python 訊息佇列rabbitmq使用之入門案例

1、在本機上安裝好rabbitmq

2、安裝pika 操作rabbitmq的三方庫

建議在虛擬環境中操作

pip install pika

3、入門例項

釋出端程式碼,我這裡命名為first_p.py

import pika

# 建立一個連結
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
# 開啟連結
channel = connection.channel()
# 指明一個名為hello的佇列
channel.queue_declare(queue='hello'
) # 開始釋出訊息 channel.basic_publish(exchange='', routing_key='hello', body='Hello world!') print(" [x] Sent 'Hello World!'") # 關閉連結 connection.close() # 注意:在shell中使用命令:sudo rabbitmqctl list_queues 可以檢視所有的佇列,以及佇列內的訊息數量

消費端程式碼,我這裡命名為first_c.py

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'
)) channel = connection.channel() channel.queue_declare(queue='hello') # 定義一個callback函式,當有訊息時就會執行它 def callback(ch, method, properties, body): print(" [x] Received %r" % body.decode()) # 接收訊息,並進行執行 channel.basic_consume(callback, queue='hello', no_ack=True
) # 這裡的no_ack=True 表示關閉訊息確認。預設是開啟的 print(' [*] Waiting for messages. To exit press CTRL+C') # 開始消費,表示開始接收訊息 channel.start_consuming() # 注意這裡要一直接收的話不能關閉連結

4、如何執行

釋出端:

python first_p.py hello world!

消費端:

python first_c.py

先執行消費端之後在執行傳送端,注意終端輸出