amqp

RabbitMQ: messages remain “Unacknowledged”

白昼怎懂夜的黑 提交于 2019-12-03 06:03:54
My Java application sends messages to RabbitMQ exchange, then exchange redirects messages to binded queue. I use Springframework AMQP java plugin with RabbitMQ. The problem: message comes to queue, but it stays in "Unacknowledged" state, it never becomes "Ready". What could be the reason? An Unacknowledged message implies that it has been read by your consumer, but the consumer has never sent back an ACK to the RabbitMQ broker to say that it has finished processing it. I'm not overly familiar with the Spring Framework plugin, but somewhere (for your consumer) you will be declaring your queue,

RabbitMQ: fast producer and slow consumer

こ雲淡風輕ζ 提交于 2019-12-03 05:56:57
问题 I have an application that uses RabbitMQ as the message queue to send/receive message between two components: sender and receiver. The sender sends message in a very fast way. The receiver receives the message and then does some very time-consuming task (mainly database writing for very large data size). Since the receiver takes a very long time to finish the task and then retrieve the next message in the queue, the sender will keep filling up the queue quickly. So my question is: Will this

Why do CELERY_ROUTES have both a “queue” and a “routing_key”?

点点圈 提交于 2019-12-03 04:44:23
问题 My understanding of AMQP is that messages only have the following components: The message body The routing key The exchange Queues are attached to exchanges. Messages can't have any knowledge of queues. They just post to an exchange, and then based on the exchange type and routing key, the messages are routed to one or more queues. In Celery, the recommended way of routing tasks is through the CELERY_ROUTES setting. From the docs, CELERY_ROUTES is... A list of routers, or a single router used

Using Tornado with Pika for Asynchronous Queue Monitoring

蹲街弑〆低调 提交于 2019-12-03 03:54:16
I have an AMQP server ( RabbitMQ ) that I would like to both publish and read from in a Tornado web server . To do this, I figured I would use an asynchronous amqp python library; in particular Pika (a variation of it that supposedly supports Tornado). I have written code that appears to successfully read from the queue, except that at the end of the request, I get an exception (the browser returns fine): [E 101219 01:07:35 web:868] Uncaught exception GET / (127.0.0.1) HTTPRequest(protocol='http', host='localhost:5000', method='GET', uri='/', version='HTTP/1.1', remote_ip='127.0.0.1', remote

Should I use Celery or Carrot for a Django project?

爷,独闯天下 提交于 2019-12-03 03:49:39
问题 I'm a little confused as to which one I should use. I think either will work, but is one better or more appropriate than the other? http://github.com/ask/carrot/tree/master http://github.com/ask/celery/tree/master 回答1: If you need to send/receive messages to/from AMQP message queues, use carrot . If you want to run scheduled tasks on a number of machines, use celery . If you're making soup, use both ;-) 回答2: May you should see this http://www.slideshare.net/idangazit/an-introduction-to-celery

Message broker vs. MOM (Message-Oriented Middleware)

血红的双手。 提交于 2019-12-03 03:10:10
问题 I'm a little confused as to what the difference is between a message broker e.g. RabbitMQ and Message-orientated Middleware. I can't find much info apart from what's on Wikipedia. When searching MOM I find info on AMQP which states is a protocol for MOM.. what does this mean? What is MOM then? I also have read that RabbitMQ implements the AMPQ protocol.. so why does that make a RabbitMQ a messsage broker? Are a message broker and MOM the same thing? Hope some can unravel my confusion. thanks

Using Spring Integration with RabbitMQ

匿名 (未验证) 提交于 2019-12-03 02:52:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm in the process of developing a messaging interface for one of our applications. The application is a service which is designed to accept a "Job", do some processing, and return the result (in the form of a File actually). The idea is to use RabbitMQ as the messaging infrastructure and Spring AMQP to handle protocol specific details. I do not want to have a tight coupling from my code to Spring AMQP, so I would like to use Spring Integration to hide the messaging api. So basically I want this: Message sent to RabbitMQ ====> Spring AMQP ==

spring amqp-outbound gateway to produce reply from a different thead (Like jms-outbound gateway)

匿名 (未验证) 提交于 2019-12-03 02:42:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Problem statement: Spring amqp-outbound gateway to produce reply from a different thread (Like jms-outbound gateway, having different queue, correlate the request/response using correlation key). Unable to correlate the message with this example. Spring integration <int:gateway id="outboundGateway" service-interface="com.amqp.outbound.gateway.OutboundGateway" default-reply-channel="defaultReplyChannel" > <int:method name="process" request-channel="inboundRequestChannel"/> </int:gateway> <int:channel id="defaultReplyChannel"/> <int:channel id

Spring AMQP v1.4.2 - Rabbit reconnection issue on network failure

匿名 (未验证) 提交于 2019-12-03 02:24:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am testing the following scenario in Spring AMQP v1.4.2 and it fails to reconnect after a network disruption: Start the spring application which consumes messages asyncly using rabbit:listener-container and rabbit:connection-factory (detailed configuration follows). The log shows that application is successfully receiving messages. Make RabbitMQ invisible to the app by dropping inbound network traffic on rabbit server: sudo iptables -A INPUT -p tcp --destination-port 5672 -j DROP Wait for at least 3 minutes (for network connections to

Worker pools and multi-tenant queues with RabbitMQ

谁都会走 提交于 2019-12-03 02:12:15
I work on a web application that is a multi-tenant cloud based application (lots of clients, each with their own separate "environment", but all on shared sets of hardware) and we're introducing the ability for a user to batch up work for later processing. The types of batched work really isn't important, it's just of sufficient quantity that doing it without a work queue isn't really practical. We've selected RabbitMQ as our underlying queue framework. Because we're a multi-tenant app, we don't necessarily want clients to be able to cause lengthy queue process times for another client, so one