77得票7回答
在pika/RabbitMQ中处理长时间运行的任务

我们正在尝试设置一个基本的有向队列系统,在这个系统中,生产者将生成多个任务,一个或多个消费者将一次获取一个任务,处理它,并确认消息。 问题是,处理可能需要10到20分钟的时间,在这段时间内我们没有响应消息,导致服务器将我们断开连接。 以下是我们消费者的伪代码:#!/usr/bin/env ...

53得票3回答
如何从非本连接自己的通道中恢复未确认的AMQP消息?

似乎我保持我的rabbitmq服务器运行得越久,未确认的消息就会越多。我希望重新排队它们。实际上似乎有一个amqp命令可以做到这一点,但它只适用于您的连接所使用的通道。我构建了一个小的pika脚本来尝试它,但我要么遗漏了什么,要么不能通过这种方式完成(那 rabbitmqctl 呢?)impo...

51得票6回答
如何在RabbitMQ中创建延迟队列?

什么是使用Python、Pika和RabbitMQ创建延迟(或停车)队列的最简单方法?我看到过一个类似的问题,但没有针对Python的解答。 在设计应用程序时,我认为这是一个有用的想法,因为它允许我们限制需要重新排队的消息。 您始终可能会收到比您处理的消息更多的消息,也许HTTP服务器速度...

44得票3回答
使用Python / Pika消费多个队列

我正在尝试创建一个消费者,该消费者将订阅多个队列,然后在消息到达时处理这些消息。 问题在于,当第一个队列中已经存在一些数据时,它会消耗第一个队列并永远不会去消费第二个队列。 但是,当第一个队列为空时,它会进入下一个队列,然后同时消费两个队列。 我最初实现了线程,但希望避免使用它,因为 pi...

39得票2回答
使用哪种连接方式与Pika通信?

我一直在尝试弄清楚在使用pika时应该使用哪种连接方式,据我了解,有两个选择。 要么使用BlockingConnection,要么使用SelectConnection,但我不太确定这两者之间的区别(例如,BlockingConnection是什么阻塞?等等) pika的文档称SelectC...

29得票1回答
请问有人能告诉我pika和kombu这两个Python消息库有什么区别吗?

我想在我的应用程序中使用消息传递库与RabbitMQ交互。请问有人可以解释一下pika和kombu库之间的区别吗?

26得票2回答
RabbitMQ:Celery提供了什么,Pika没有的?

我一直在努力通过RabbitMQ使一些分布式任务得以运行。 我花了一些时间尝试让Celery完成我想做的事情,但无法使其工作。 然后我尝试使用Pika,事情就顺畅地在几分钟内解决了。 如果使用Pika而不是Celery,是否会有什么遗漏呢?

26得票7回答
使用pika(python)向RabbitMQ确认消息时出现“未知的传递标签”错误

我想在几个线程中处理消息,但在执行此代码时出现错误: from __future__ import with_statement import pika import sys from pika.adapters.blocking_connection import BlockingConn...

23得票1回答
生产系统中如何更改RabbitMQ队列参数

我在面向服务的架构中使用RabbitMQ作为消息队列,多个独立的Web服务发布消息绑定到RabbitMQ队列。这些队列又被各种消费者订阅,执行后台任务; 这是RabbitMQ的一个非常普通的用例。 现在,我想改变一些队列参数(具体而言,我想将队列绑定到一个新的死信交换机,并使用特定的路由键)...

22得票1回答
皮卡加兔子消息队列:将basic_qos设置为prefetch=1仍然似乎会消耗队列中的所有消息

我有一个Python工作客户端,可以启动10个工作进程,每个进程都连接到一个RabbitMQ队列。就像这样:#!/usr/bin/python worker_count=10 def mqworker(queue, configurer): connection = pika.Blo...