最小应用
Pika的最小应用包括消息生产应用和消息消费应用。这里借用Pika官方最简示例进行说明,先看消息生产应用。
import pika
connection = pika.BlockingConnection()
channel = connection.channel()
channel.basic_publish(
exchange='test',
routing_key='test',
body=b'Test message'
)
connection.close()
消息生产应用中通过消息队列连接创建Channel
,然后再通过Channel
发送消息。
下面看一下消息消费应用,消息的消费要比生产复杂很多。
import pika
connection = pika.BlockingConnection()
channel = connection.channel()
for method_frame, properties, body in channel.consume('test'):
# 打印输出各项内容并确认消息
print(method_frame, properties, body)
channel.basic_ack(method_frame.delivery_tag)
# 接收10次消息后退出消费
if method_frame.delivery_tag == 10:
break
# 取消消费者并退回所有未处理的消息
requeued_messages = channel.cancel()
# 关闭连接
connection.close()