最小应用

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()