[rabbitmq-discuss] queue architecture

Sherif Ahmed sherifahmed at hotmail.com
Thu Oct 28 23:25:51 BST 2010


Great.. Exactly what I was looking for.
Far more efficient than what I was doing.

Thanks

-----Original Message-----
From: Alexandru Scvorţov [mailto:scvalex at gmail.com] On Behalf Of Alexandru
Scvortov
Sent: Thursday, October 28, 2010 5:28 PM
To: Reefee
Cc: rabbitmq-discuss at lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] queue architecture

> I have a scenario where I'd like to get a message from a queue and do some
> validations and decide if it needs processing , if not then put it back in
> the queue for a later time.
> 
> Whats the best way to accomplish this.. Can I just get the message not and
> not call baskcAck if I don't need to process it ? Not calling basicAck
puts
> the message back on teh queue after a while ?

Something like that.  When a message is delivered, it is taken off the queue
but not deleted.  If you close the channel without ack'ing the message,
it gets re-inserted into the queue.

So, the message will get requeued when you close the channel but not
before.

An alternative is basic.reject:
 
http://www.rabbitmq.com/blog/2010/08/03/well-ill-let-you-go-basicreject-in-r
abbitmq/

Basically, basic.reject{requeue=true} is exactly what you want.  It's a
way for a consumer to refuse a message from the broker.

> Currently I have a working solution where I get the message, deserialize
it
> and then put the message back again into the queue. Is there a better way
?

That would also work.

Cheers,
Alex

On Thu, Oct 28, 2010 at 02:05:34PM -0700, Reefee wrote:
> 
> I am using the Java Client
> 
> I have a scenario where I'd like to get a message from a queue and do some
> validations and decide if it needs processing , if not then put it back in
> the queue for a later time.
> 
> Whats the best way to accomplish this.. Can I just get the message not and
> not call baskcAck if I don't need to process it ? Not calling basicAck
puts
> the message back on teh queue after a while ?
> 
> Currently I have a working solution where I get the message, deserialize
it
> and then put the message back again into the queue. Is there a better way
?
> 
> -- 
> View this message in context:
http://old.nabble.com/queue-architecture-tp30079644p30079644.html
> Sent from the RabbitMQ mailing list archive at Nabble.com.

> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss




More information about the rabbitmq-discuss mailing list