[rabbitmq-discuss] Re try and Throttling

Marek Majkowski majek04 at gmail.com
Wed Mar 9 13:59:40 GMT 2011


On Tue, Mar 8, 2011 at 16:08, butterdave2 <mark.pork at gmail.com> wrote:
>
> Is there anything in Rabbit that can control the amount of times a consumer
> may "retry" a message?

No, but if the message is redelivered you should see "redelivered"
field being set
to "True".

> There may be instances when a message has something about it that will cause
> it to "fail" downstream in the Consumer code. I wouldn't want to continue to
> hammer away...

Correct. But rabbit can't know if your consumer died due to the message
or due to something else, power failure or something.

It's the programmers responsibility to handle dying-consumer case.

> I can programmatically include the number of retry attempts with the message
> (a kind of metadata) and then design the Consumer to query this field. (then
> once we hit our MAX_RETRY, we will do something else to it...)

Sounds good.

> Also in similar fashion, is there any control around "throttling" or slowing
> down the consumption of messages from a queue?

You can't control that, Rabbit is designed to deliver messages when it can.
But you can use basic.qos to do something similar. Or, if you're desperate
you may just run basic.get with regular intervals.

Cheers,
  Marek


More information about the rabbitmq-discuss mailing list