python的低级amqp客户端(amqplib的分叉)。
amqp的Python项目详细描述
Version: | 2.5.1 |
---|---|
Web: | https://amqp.readthedocs.io/ |
Download: | https://pypi.org/project/amqp/ |
Source: | http://github.com/celery/py-amqp/ |
Keywords: | amqp, rabbitmq |
关于
这是一个amqplib的叉子,最初是由巴里·佩德森写的。 它由Celery项目维护,并由kombu用作纯python 当librabbitmq不可用时的替代选项。
此库应与librabbitmq兼容。
与amqplib
的区别支持从多个通道排出事件(Connection.drain_events)
支持超时
在通道出错后恢复通道,而不必关闭 连接。
支持心跳
- ^{tt2}$ must called at regular intervals (half of the heartbeat value if rate is 2).
- Or some other scheme by using ^{tt3}$.
- 支持rabbitmq扩展:
- 消费者取消通知
- 默认情况下,取消将导致ChannelError被引发
- 但如果将on_cancel回调传递给basic_consume,则不会。
- 出版商确认
- Channel.confirm_select()启用发布者确认。
- Channel.events['basic_ack'].append(my_callback)添加回调 在确认消息时调用。这个回拨就是 使用签名(delivery_tag, multiple)调用。
- 交换到交换绑定:exchange_bind/exchange_unbind.
- Channel.confirm_select()启用发布者确认。
- Channel.events['basic_ack'].append(my_callback)添加回调 在确认消息时调用。这个回拨就是 使用签名(delivery_tag, multiple)调用。
- 身份验证失败通知
- 而不是在无效时突然关闭连接 凭据,py amqp将引发一个AccessRefused错误 连接到RabbitMQ服务器3.2.0或更高版本时。
支持basic_return
- 使用amqp 0-9-1而不是0-8。
- Channel.access_request和ticket方法的参数 已删除。
- 支持arguments参数到basic_consume。
- internal到exchange_declare的参数已删除。
- auto_delete参数到exchange_declare已弃用
- insist到Connection的参数已删除。
- Channel.alerts已被删除。
- 支持Channel.basic_recover_async。
- Channel.basic_recover已弃用。
- 重命名为具有惯用名称的异常:
- AMQPException->;AMQPError
- AMQPConnectionException->;连接错误`
- AMQPChannelException->;通道错误`
- Connection.known_hosts已删除。
- Connection不再支持重定向。
- exchange到queue_bind的参数现在可以为空 使用“默认交换”。
添加尝试检测的Connection.is_alive。 连接是否仍然可用。
添加Connection.connection_errors和.channel_errors, 可恢复错误的列表。
将基础套接字公开为Connection.sock。
添加Channel.no_ack_consumers以跟踪消费者标记 设置了禁止确认标志。
在错误恢复方面稍有改进
进一步
AMQP 0.8和0.9.1之间的差异
AMQP 0.9.1快速参考
RabbitMQ扩展
有关AMQP的更多信息,请访问
有关其他python客户端库,请参见: