Pika Python AMQP 客户端库
项目描述
Pika 是一个 Python 的 RabbitMQ (AMQP-0-9-1) 客户端库。
简介
Pika 是 AMQP 0-9-1 协议的纯 Python 实现,包括 RabbitMQ 的扩展。
支持 Python 2.7 和 3.4+。
由于线程并不适合所有情况,它不需要线程。它也确保不会禁止它们。同样适用于 greenlets、回调、延续和生成器。然而,它不一定线程安全,具体效果可能会有所不同。
人们可能会使用直接套接字、普通的 select() 或其他各种方式将网络事件从 Python 应用程序中获取和发送。Pika 尽量与所有这些兼容,并尽可能简化将其适应新环境的过程。
文档
Pika 的文档可以在 https://pika.readthedocs.io 找到。
示例
以下是最简单的使用示例,使用 BlockingConnection 适配器发送消息
import pika
connection = pika.BlockingConnection()
channel = connection.channel()
channel.basic_publish(exchange='example',
routing_key='test',
body='Test Message')
connection.close()
以及一个编写阻塞消费者的示例
import pika
connection = pika.BlockingConnection()
channel = connection.channel()
for method_frame, properties, body in channel.consume('test'):
# Display the message parts and ack the message
print(method_frame, properties, body)
channel.basic_ack(method_frame.delivery_tag)
# Escape out of the loop after 10 messages
if method_frame.delivery_tag == 10:
break
# Cancel the consumer and return any pending messages
requeued_messages = channel.cancel()
print('Requeued %i messages' % requeued_messages)
connection.close()
Pika 提供以下适配器
AsyncioConnection - Python3 AsyncIO 事件循环的适配器
BlockingConnection - 在库上启用阻塞、同步操作,适用于简单用途
选择连接 - 快速异步适配器
Tornado连接 - 用于与Tornado IO循环配合使用的适配器 http://tornadoweb.org
Twisted连接 - 用于与Twisted异步包配合使用的适配器 http://twistedmatrix.com/
贡献
要为pika做出贡献,请确保任何新的功能或对现有功能的更改都包含测试覆盖。
不包含覆盖范围的代码添加或更改的拉取请求很可能会被拒绝。
此外,请在提交拉取请求之前,使用yapf以google风格格式化您的代码。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
pika-dev-1.0.0b1.dev1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 526de5d34f338deb0d2c71c4ea8a9875c72d598d65a62397f6dc7022f3902bcb |
|
MD5 | 2d131a12e01f68f649f61a89a97427a2 |
|
BLAKE2b-256 | 2d6861916ac5afb7f21391e66b51337a70dc2f6c1479650710197a07aaafcbe5 |
pika_dev-1.0.0b1.dev1-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 33363fa46a404c47889a463e70b059d5d438588b53ef052ff46a6be59a0d5d6a |
|
MD5 | c0672c3d09240f66d5211ca13432b0dc |
|
BLAKE2b-256 | 028ad38491ddc2ef19358b96d4b301882b1934749de021c2c4f5348de06bf794 |