pika相关内容

在不禁用心跳的情况下保持 pika BlockingConnection 存活

我正在开发一个带有 pika 0.10.0 和 python 2.7 版本的 RabbitMQ 消费者.在我的消费者客户端中,我有一个根据输入消息运行一段时间的进程.它可以从 3 到 40 分钟不等.我不想禁用心跳.相反,我正在寻找一些可以使连接保持活动状态的回滚机制,直到将 delivery_tag 发回.这可能吗? 我得到的链接很少,都建议禁用心跳作为解决方法.但我不想禁用它. 参 ..
发布时间:2022-01-11 18:07:06 其他开发

鼠兔,停止消费不起作用

我是 rabbitmq 和 pika 的新手,并且无法停止消费. 频道和队列设置: connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))通道 = 连接.通道()channel.queue_declare(queue=new_task_id,durable=True,auto_delete=T ..
发布时间:2022-01-11 18:05:06 Python

如何在 python 中使用 pika (RabbitMQ) 向消费者添加多处理

我在 python 中使用 pika 框架编写了非常基本的生产者-消费者代码.问题是 - 消费者端在队列中的消息上运行太慢.我进行了一些测试,发现我可以通过多处理将工作流程加快 27 倍.问题是 - 我不知道向我的代码添加多处理功能的正确方法是什么. import pika导入json从日期时间导入日期时间从函数导入 download_xmlsdef 回调(通道、方法、属性、正文):print( ..
发布时间:2022-01-11 18:02:49 Python

谁能告诉我 python 中 pika 和 kombu 消息传递库之间有什么区别?

我想在我的应用程序中使用消息传递库与 rabbitmq 进行交互.谁能解释一下 pika 和 kombu 库之间的区别? 解决方案 Kombu 和 pika 是两个不同的 Python 库,它们从根本上服务于相同的目的:向/从消息代理发布和消费消息. Kombu 比 pika 具有更高的抽象级别.Pika 仅支持 AMQP 0.9.1 协议,而 Kombu 可以支持其他传输(例如 R ..
发布时间:2022-01-11 17:56:23 其他开发

在 django 中使用 pika 的 Rabbitmq 监听器

我有一个 django 应用程序,我想使用来自 rabbit mq 的消息.我希望监听器在我启动 django 服务器时开始消费.我正在使用 pika 库连接到 rabbitmq.证明一些代码示例确实会有所帮助. 解决方案 首先你需要在 django 项目开始时以某种方式运行你的应用程序https://docs.djangoproject.com/en/2.0/ref/applicatio ..
发布时间:2022-01-11 17:49:44 其他开发

在 python/pika 中消费多个队列

我正在尝试创建一个订阅多个队列的消费者,然后在消息到达时对其进行处理. 问题是,当第一个队列中已经存在一些数据时,它会消耗第一个队列,而永远不会去消耗第二个队列.但是,当第一个队列为空时,它确实会转到下一个队列,然后同时消耗两个队列. 我首先实现了线程,但想避开它,当 pika 库为我完成它时没有太多复杂性.以下是我的代码: 进口鼠兔mq_connection = pika.Bloc ..
发布时间:2022-01-11 17:43:54 Python

pika 使用哪种连接形式

我一直在试图弄清楚在使用 pika 时应该使用哪种连接形式,据我所知,我有两种选择. BlockingConnection 或 SelectConnection,但我不太确定这两者之间的区别(即 BlockingConnection 阻塞是什么?等等) pika 的文档说 SelectConnection 是连接到 rabbit 的首选方式,因为它提供了“多种事件通知方法,包括 sel ..
发布时间:2022-01-11 17:41:42 Python

Pika BlockingConnection &RabbitMQ:连接关闭

我在集群中有 2 个 rabbitmq,由 Azure 内部负载均衡器进行负载均衡.客户端使用BlockingConnection 连接到LB. 当客户端交换消息时,一切正常.但是当没有活动时,我的客户似乎已断开连接并且无法再接收消息. 我想知道这个问题是否有解决方案?我假设负载均衡器或 rabbitmq 由于不活动而关闭连接.我想让 pika 触发 rabbitmq 的一些心跳(以便 ..
发布时间:2022-01-11 17:33:39 Python

Pika blocking_connection.py 连接到 RabbitMQ 的随机超时

我有一个兔子 mq 在机器上运行 client 和 rabbitMQ 在同一个网络上运行 rabbitMQ 有很多客户端 我可以从 rabbitMQ ping 客户端并返回 机器之间测得的最长延迟为 12.1 毫秒 网络详细信息:标准交换机网络(在单个物理机上运行的虚拟机网络 - 使用 vmware VC) 我在初始化 RPC 连接时随机超时 /usr/lib/pytho ..
发布时间:2022-01-11 17:28:22 Python

使用 pika 发布消息时如何添加标头键:值对

我正在编写一个自动化测试来测试消费者.到目前为止,我在发布消息时不需要包含标题,但现在我需要.而且它似乎缺少文档. 这是我的出版商: 类 RMQProducer(object):def __init__(self, host, exchange, routing_key):self.host = 主机self.exchange = 交换self.routing_key = 路由键def p ..
发布时间:2022-01-11 17:26:58 Python

使用 pika 发布消息时如何添加标题键:值对

我正在编写一个自动化测试来测试消费者.到目前为止,我不需要在发布消息时包含标题,但现在我需要.而且似乎缺少文档. 这是我的发布商: class RMQProducer(object):def __init__(self, host, exchange, routing_key):self.host = 主机self.exchange = 交换self.routing_key = routi ..
发布时间:2021-11-27 11:50:10 Python

rabbitmq 队列上有多个消费者-只有一个消费者收到消息

我实现了多个消费者,他们从单个队列中获取消息,我使用类似于 这个例子,除了我在一个无限循环中执行 basic.get 以进行轮询. 知道如何防止所有消费者之间发生竞争,因为只有一个消费者会收到消息,而另一个消费者将继续进行轮询,直到另一条消息到来吗? 我尝试实现一个逻辑,在该逻辑中,一旦我收到消息,我就确认它以删除消息,但似乎其他一些队列在第一个队列确认并删除它之前设法获取了该消息.所以每 ..
发布时间:2021-11-27 11:49:46 Python

找不到记录器“pika.adapters.blocking_connection"的处理程序;

类似的问题似乎都基于使用自定义记录器,我很高兴只使用默认值/根本不使用.我的 pika python 应用程序运行并接收消息,但几秒钟后崩溃,找不到记录器“pika.adapters.blocking_connection"的处理程序,有什么想法吗? 导入鼠兔凭证 = pika.PlainCredentials('xxx_apphb.com', 'xxx')参数 = pika.Connectio ..
发布时间:2021-11-27 11:49:37 Python

RabbitMQ 交换在一段时间后变得无响应

我有在 Docker 中运行的 RabbitMQ 服务器和两个连接到服务器并使用标头交换相互发送消息的 python 客户端.消息速率约为 10/s.一段时间后(大部分时间是在交换了 300-500 条消息之后),其中一个交换变得无响应.channel.basic_publish 调用无一例外地通过,但接收者没有收到任何消息.同样在rabbitmq仪表板上,这个交易所没有任何活动.rabbitmq ..
发布时间:2021-07-02 18:42:18 Python

使用 Quart 运行 RabbitMQ Pika

我使用的是 Quart 框架,但我也需要使用 RabbitMQ Pika 连接器,但我无法让它们发挥良好的作用,因为它们都有无限循环. 入口点: from quart import Quart从 .service 导入服务app = Quart(__name__)@app.before_serving异步定义启动():app.service_task = asyncio.ensure_fu ..
发布时间:2021-07-02 18:40:03 Python