使用RabbitMq实现amqp消息传递的Pika总线包装器

PikaBus的Python项目详细描述


ReadTheDocsDrone CILatest Versionhttps://img.shields.io/pypi/pyversions/pikabus.svghttps://img.shields.io/pypi/l/pikabus.svg

PikaBus库是pika的包装器 为了便于实现消息、事件和命令模式,如下文所述:

特点

  • 默认情况下启用amqp的安全消息传递,包括:
    • 所有节点上的持久队列和镜像队列。在
    • 持久消息,这意味着节点重新启动后不会丢失任何消息。在
    • RabbitMq publisher confirms确认交货。在
    • 至少保证一次交货。在
  • 面向对象的API,界面简洁易用。在
  • 容错,自动重新连接重试逻辑和状态恢复。在

安装

pip install PikaBus

示例

^{pr2}$

快速入门

克隆PikaBus回购:

git clone https://github.com/hansehe/PikaBus.git

使用Docker启动本地RabbitMq实例:

docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER=amqp -e RABBITMQ_DEFAULT_PASS=amqp -p 5672:5672 -p 15672:15672 rabbitmq:3-management

在以下位置打开RabbitMq admin(user=amqp,密码=amqp):

http://localhost:15672/

然后,运行示例:

pip install PikaBus
python ./Examples/basic_example.py

尝试重新启动RabbitMq以注意PikaBus如何容忍停机时间:

docker stop rabbit
docker start rabbit

向正在运行的PikaBus使用者发送或发布更多消息:

python ./Examples/send_example.py
python ./Examples/publish_example.py

许可证

这个项目是根据麻省理工学院的许可证授权的。在

版本控制

此软件遵循Semantic Versioning

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
CentOS上的java Spring Boot简易应用程序需要很长时间才能启动   java如何检查字符串值是否等于null?   收集器中的java映射值。分组方式()   java需要支持Azure AD B2C webapp集成   java如何加入线程以停止它?   java如何使用意图传递类的对象?   java如何在战争环境中发现CDI生产者?   多模块项目中java奇怪的编译器行为   java如何在web应用程序中管理密码?   java从http服务器、filehandler中删除冗余代码   java使用反射来获取泛型类的字段   java Spring MVC/Hibernate/MySQL 400错误请求错误   给定正整数a的java幂为3   在Java中将元素拆分为不同数量的列表?   java展开折叠窗格