使用qpid的工具集和用于高级qpid交互的库。

qpid-bow的Python项目详细描述


https://travis-ci.org/Bynder/qpid-bow.svg?branch=masterhttps://coveralls.io/repos/github/Bynder/qpid-bow/badge.svg?branch=masterDocumentation Status

qpid bow是python 3.6+用来与之通信的更高级别的客户机框架。 amqp/qpid服务器与一组cli工具结合起来管理qpid服务器。

qpid bow的cli工具提供了您一直想要的缺少的工具 管理或调试基于qpid的amqp堆栈。为您提供 使用yaml文件管理队列和交换、设置和保存路由的能力 以及其他各种工具。

作为一个框架,qpid bow可以在 与AMQP/QPID队列集成的低级QPID质子库, 交换和远程过程调用(rpc)功能:

  • 简单的,基于回调的接收器,支持监听多个队列。
  • 带有自动临时队列和回调的rpc调用。
  • 基于队列的发件人。
  • 包括用于创建队列/交换的qpid管理代码。
  • 支持使用async def回调在python的asyncio事件循环下运行。

要求

安装

PYPI提供QPID弓:

$ pip install qpid-bow

或者使用 requirements.txt/setup.py/Pipfile

测试

qpid bow的单元测试需要连接到实际的apacheqpid服务器 成功的考验。默认情况下,测试假设在本地主机上存在服务器。

要指定用于测试的服务器地址,请使用环境变量: AMQP_TEST_SERVERS

可用工具

队列

  • qb queue create-创建队列。
  • qb queue delete-删除队列。
  • qb queue purge-清除队列中的消息。
  • qb queue reroute-将消息从队列重新路由到Exchange。
  • qb queue stats-打印队列使用统计信息和活动消息数。

消息

  • qb message receive-从队列或交换接收消息。
  • qb message send-将消息发送到队列或交换。

路由

  • qb route dump-查看并保存Exchange->;队列路由。
  • qb route config-设置Exchange->;从保存的文件中排队路由。

连接

  • qb connection kill-终止与服务器的连接。

会话

  • qb session outgoing-列出来自服务器的传出会话。

配置和环境变量

存在几种配置QPID弓的选项。按优先顺序:

传入参数 用户始终可以使用参数覆盖已使用的服务器url:

  • 对于cli工具,使用--broker-url命令行参数。
  • 对于关键字参数server_url中的库传递。

使用dict配置 当使用qpid bow作为库时,可以使用dict传入config: qpid_bow.config.configure

dict可以包含以下条目:

  • amqp_url-要连接的主服务器和故障转移服务器的逗号分隔列表。
  • username-当url中没有提供用户名时使用的用户名。
  • password-在URL中未提供密码时使用的密码。

环境变量 配置qpid bow工具和库的最简单方法是使用环境变量。 这些变量可以添加到shell的配置文件中,并将自动被获取。

  • AMQP_SERVERS-要连接的主服务器和故障转移服务器的逗号分隔列表。
  • AMQP_TEST_SERVERS-与AMQP_SERVERS相同,仅用于单元测试。

示例:AMQP_SERVERS=amqp://user:pass@192.168.1.1:5672,amqp://user:pass@192.168.1.2:5672

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

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件