import pika
# 创建连接
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 声明队列
channel.queue_declare(queue='hello')
# 定义回调函数,处理接收到的消息
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
# 消费者从队列中获取消息
channel.basic_consume(queue='hello',
auto_ack=True,
on_message_callback=callback)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
创建连接:
pika.BlockingConnection 创建一个到 RabbitMQ 服务器的连接。这里我们连接的是本地的 RabbitMQ 服务器 (localhost)。声明队列:
channel.queue_declare 方法声明一个名为 hello 的队列。如果该队列已经存在,则不会重复创建。定义回调函数:
callback 函数用于处理接收到的消息。当有消息到达时,RabbitMQ 会调用这个函数,并将消息传递给它。消费者从队列中获取消息:
channel.basic_consume 方法告诉 RabbitMQ 从 hello 队列中获取消息,并指定使用 callback 函数来处理这些消息。auto_ack=True 表示自动确认消息已被接收。等待消息:
channel.start_consuming 进入一个无限循环,等待消息的到来。直到程序被终止(例如按下 CTRL+C)。这段代码展示了如何使用 Python 和 Pika 库与 RabbitMQ 进行基本的交互,包括连接、声明队列、定义回调函数以及消费消息。
上一篇:python orm
下一篇:python在线编程器
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站