發(fā)送JSON數據
通過調用rabbitmq.send_json(channel, user, queue=result)
能夠更簡單的實現發(fā)送JSON數據。文章來源地址http://www.zghlxwxcb.cn/news/detail-792116.html
生產者
import json
import rabbitmq
# 建立連接
connection = rabbitmq.get_connection()
# 創(chuàng)建管道
channel = connection.channel()
# 創(chuàng)建隊列
queue_name = "user_manager"
result = channel.queue_declare(queue=queue_name)
# 向隊列中寫入數據
data = [
{"id": 1, "name": "張三", "age": 23},
{"id": 2, "name": "李四", "age": 24},
{"id": 3, "name": "王五", "age": 35},
]
for user in data:
rabbitmq.send_json(channel, user, queue=result)
# 關閉連接
connection.close()
消費者
import json
import rabbitmq
# 創(chuàng)建連接
connection = rabbitmq.get_connection()
# 創(chuàng)建管道
channel = connection.channel()
# 創(chuàng)建隊列
queue_name = "user_manager"
channel.queue_declare(queue=queue_name, durable=False)
def callback(ch, method, properties, body):
# 解析隊列中的每一條數據
ch.basic_ack(delivery_tag=method.delivery_tag)
data = body.decode("utf8")
print(json.loads(data))
# 告訴rabbitmq,用callback來接收消息
channel.basic_consume(queue_name, callback)
# 開始接收信息,并進入阻塞狀態(tài),隊列里有信息才會調用callback進行處理
try:
channel.start_consuming()
finally:
connection.close()
文章來源:http://www.zghlxwxcb.cn/news/detail-792116.html
到了這里,關于使用Python向RabbitMQ發(fā)送JSON數據只需要一個send_json方法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!