Is there anyway I could configure an exchange/queue/consumer to
route/deliver/consume a message in the future?

For example we have run into a situation whereas we produce a message
for a record that was just inserted into our master database. When our
consumer tries to act upon this message the record has not be replicated
to the slaves yet so the message consumption fails. Is there any way we
can queue up this message in say 5 seconds? Of course we could always
requeue a failed consumed message but that would lead us to a situation
where the we could be consume/producing in an infinite loop. How do
people typically handle this situation?

Thanks

Search Discussions

  • Simon MacMullen at Jan 19, 2012 at 5:30 pm

    On 19/01/12 17:25, Mark wrote:
    Is there anyway I could configure an exchange/queue/consumer to
    route/deliver/consume a message in the future?

    For example we have run into a situation whereas we produce a message
    for a record that was just inserted into our master database. When our
    consumer tries to act upon this message the record has not be replicated
    to the slaves yet so the message consumption fails. Is there any way we
    can queue up this message in say 5 seconds? Of course we could always
    requeue a failed consumed message but that would lead us to a situation
    where the we could be consume/producing in an infinite loop. How do
    people typically handle this situation?
    Not right now.

    In the near future we hope to have dead lettering. When that happens you
    could publish to a queue with a 5 second message TTL, and have that
    queue dead letter to the "real" queue.

    But not yet I'm afraid.

    Cheers, Simon

    --
    Simon MacMullen
    RabbitMQ, VMware
  • Mark at Jan 19, 2012 at 6:01 pm
    Are there any alternative methods/workarounds for these type of problems?

    Also is there any documentation out there on the dead-letter queue?
    On 1/19/12 9:30 AM, Simon MacMullen wrote:
    On 19/01/12 17:25, Mark wrote:
    Is there anyway I could configure an exchange/queue/consumer to
    route/deliver/consume a message in the future?

    For example we have run into a situation whereas we produce a message
    for a record that was just inserted into our master database. When our
    consumer tries to act upon this message the record has not be replicated
    to the slaves yet so the message consumption fails. Is there any way we
    can queue up this message in say 5 seconds? Of course we could always
    requeue a failed consumed message but that would lead us to a situation
    where the we could be consume/producing in an infinite loop. How do
    people typically handle this situation?
    Not right now.

    In the near future we hope to have dead lettering. When that happens
    you could publish to a queue with a 5 second message TTL, and have
    that queue dead letter to the "real" queue.

    But not yet I'm afraid.

    Cheers, Simon
  • Simon MacMullen at Jan 19, 2012 at 6:03 pm

    On 19/01/12 18:01, Mark wrote:
    Are there any alternative methods/workarounds for these type of problems?
    Not right now, short of building some special client that consumes
    messages and republishes them later.
    Also is there any documentation out there on the dead-letter queue?
    Not until we've finished writing it I'm afraid...

    Cheers, Simon

    --
    Simon MacMullen
    RabbitMQ, VMware
  • Simone Busoli at Jan 19, 2012 at 9:03 pm
    It shouldn't be too bard to write a client which does the scheduling, I
    think Mike Hadlow did something similar in his .NET library EasyNetQ.
    On Jan 19, 2012 7:01 PM, "Mark" wrote:

    Are there any alternative methods/workarounds for these type of problems?

    Also is there any documentation out there on the dead-letter queue?
    On 1/19/12 9:30 AM, Simon MacMullen wrote:
    On 19/01/12 17:25, Mark wrote:

    Is there anyway I could configure an exchange/queue/consumer to
    route/deliver/consume a message in the future?

    For example we have run into a situation whereas we produce a message
    for a record that was just inserted into our master database. When our
    consumer tries to act upon this message the record has not be replicated
    to the slaves yet so the message consumption fails. Is there any way we
    can queue up this message in say 5 seconds? Of course we could always
    requeue a failed consumed message but that would lead us to a situation
    where the we could be consume/producing in an infinite loop. How do
    people typically handle this situation?
    Not right now.

    In the near future we hope to have dead lettering. When that happens you
    could publish to a queue with a 5 second message TTL, and have that queue
    dead letter to the "real" queue.

    But not yet I'm afraid.

    Cheers, Simon

    ______________________________**_________________
    rabbitmq-discuss mailing list
    rabbitmq-discuss at lists.**rabbitmq.com<rabbitmq-discuss at lists.rabbitmq.com>
    https://lists.rabbitmq.com/**cgi-bin/mailman/listinfo/**rabbitmq-discuss<https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120119/b8e990c3/attachment.htm>

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouprabbitmq-discuss @
categoriesrabbitmq
postedJan 19, '12 at 5:25p
activeJan 19, '12 at 9:03p
posts5
users3
websiterabbitmq.com
irc#rabbitmq

People

Translate

site design / logo © 2022 Grokbase