24得票3回答
何时使用直接交换机而不是扇形交换机

据我所知,直接交换机没有适当的用例,因为你可以用扇出交换机做任何直接交换机能做的事情,只是更加灵活。具体来说,在阅读《RabbitMQ实战》时,作者多次提到了这样的用例 - “假设当用户上传图片时,您需要生成缩略图。但稍后市场部门还告诉您要为上传照片奖励积分。使用RabbitMQ,您只需创建另...

24得票2回答
使用HTTP API发布到默认的RabbitMQ交换机

所以我正在使用RabbitMQ的HTTP API来执行一些基本操作。在大多数情况下它表现很好,但是我遇到了一个问题,就是如何使用它来将消息发布到默认的RabbitMQ exchange。这个exchange始终存在,无法被删除,并且与每个具有与队列名相等的路由键的队列都有一个绑定。 我的问题...

23得票1回答
如何设置Celery在运行任务之前调用自定义初始化函数?

我有一个Django项目,正在尝试使用Celery来提交后台处理任务(http://ask.github.com/celery/introduction.html)。Celery与Django集成得很好,我已经能够提交自定义任务并获取结果。 唯一的问题是,我找不到一种明智的方法在守护进程中执...

22得票1回答
RabbitMQ如果存在消息则消费一条并退出。

我正在使用 Python 代码从 RabbitMQ 队列中发送和接收消息,但是另一个应用程序中不允许使用线程。这是一个非常初级的问题,但是,有没有可能只检查是否存在消息,如果没有任何消息,则退出监听?为了完成这样的任务,应该如何更改基本的 "Hello world" 示例?目前,如果我收到消息...

22得票3回答
我需要在单元测试中模拟一个RabbitMQ。

我在我的项目中使用了RabbitMQ。 在我的消费者代码中,我有RabbitMQ客户端部分的代码,连接需要tls1.1才能连接到真正的MQ。 我想在我的JUnit测试中测试这段代码,并模拟消息传递到我的消费者。 我在谷歌上看到了几个例子,使用不同的工具如camel rabbit或acti...

22得票2回答
Spring AMQP转换器问题使用Rabbit Listener

我觉得这里可能有些问题...我正在尝试创建一个简单的rabbit listener,可以接受自定义对象作为消息类型。现在根据文档所说: 在1.6版本之前,必须在消息头中提供类型信息以将JSON转换,或者需要一个自定义的ClassMapper。从1.6版本开始,如果没有类型信息头,则可以从目标...

22得票2回答
RabbitMQ: 如何使用计数器重新排队消息

有没有一种方法可以在不手动重新排队工作的情况下计算作业被重新排队(通过 Reject 或 Nak)的次数? 我需要重试一个作业 'n' 次然后在 'n' 次后丢弃它。 提示:目前,我手动重新排队一个作业(删除旧作业,创建一个具有完全相同内容和额外 Counter 标头的新作业,如果 Count...

22得票4回答
如何检测RabbitMQ连接是否已断开?

我有一个使用Go编写的RabbitMQ消费者脚本。这是一个简单的脚本,来自RabbitMQ教程,它使用streadway/amqp库。 问题在于,如果RabbitMQ服务器停止运行,消费者脚本不会退出;当RabbitMQ服务器重新启动时,消费者将不再接收消息。 有没有办法检测到消费者连接已...

21得票2回答
Celery可以使用,但是在flower上不能工作。

我已经安装了celery、RabbitMQ和flower。我能够浏览到flower端口。我有一个简单的worker,可以附加到celery并从Python程序中调用:# -*- coding: utf-8 -*- """ Created on Sat Dec 12 16:37:33 2015 ...

21得票5回答
嵌入式AMQP Java代理

我正在尝试为连接到RabbitMQ代理的Scala / Java应用程序创建集成测试。为了实现这一目标,我想要一个嵌入式AMQP代理,在每个测试之前启动和停止。最初,我尝试使用支持AMQP的ActiveMQ作为嵌入式代理,但应用程序仅支持AMQP版本0.9.3,而ActiveMQ需要AMQP版...