[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