[rabbitmq-discuss] Help Needed Urgently

Emile Joubert emile at rabbitmq.com
Tue Feb 14 10:35:47 GMT 2012


Hi mohammed,

On 14/02/12 09:22, mohammed zubeir wrote:
>   I am developing a python web crawler using RabbitMQ. The server sends
> list of urls to be crawled to client and he will send the results after
> crawling. My problem is that when client is processing the request and
> it dies suddenly all the information abt the request is lost. i.e.
> rabbitmq removes the message from queue when client takes a request. I
> want it to be relaible. Even if the client dies message should be
> available in message queue which can be allocated to some other client.
> Please reply asap.

The solution in this case is not to auto-ack messages when consuming.
Your client should acknowledge the message only after all processing is
complete. If the client dies then all unacknowledged messages will be
returned to the queue, so that another client can receive them.

If you also need to guard against broker failure then you should publish
the messages as persistent, mark the queue as durable and make use of
publisher confirms.



-Emile


More information about the rabbitmq-discuss mailing list