[rabbitmq-discuss] One message instance in couple of queues
Steve Powell
steve at rabbitmq.com
Fri Apr 27 10:03:02 BST 2012
Ostin,
It is not clear to me what you are 'watching' these queues for, but if
you want to retrieve the message from the queues after a certain time,
then why not investigate Dead Letter Exchanges(DLX) and queue message
expiry?
If the moderator's private queues have an expiry time (TTL) on them,
then messages that have been on the queue for that time will be deleted
-- if there is a DeadLetterExchange associated with the queues, the
deleted message will be re-published to the new exchange. You can
arrange for the DLX to route the message to a queue of your choice --
the monitor process need only listen on this queue.
Be sure to code the moderator carefully (so as not to drop a message
while moving it) using publisher confirms and acks.
See
(http://www.rabbitmq.com/extensions.html/#dead-letter-exchanges)
and
(http://www.rabbitmq.com/extensions.html/#queue-ttl)
for more information.
Steve Powell
steve at rabbitmq.com
[wrk: +44-2380-111-528] [mob: +44-7815-838-558]
On 21 Apr 2012, at 00:46, Alexey Ostin wrote:
> Let me show one more example.
>
> I've got some moderation queue. Whenever a moderator locks message (or several messages) for moderation, it moves from main queue to personal moderator's queue. Just to perform some long time lock (It can be minute or hour, thus I can't use ack/nack to hold message in main queue). The goal is to monitor all moderators queues as well as main one. The problem is that I do not know all moderator's queues and I can't just monitor some fixed list because it regenerates dynamically.
>
> I've just thought about using separate exchange for moderator's queues. It can help with monitoring, I'd watch over whole exchange.
> But it is still interesting whether I can publish message to several queues and consume it from them all at once. Sounds like gibberish.
>
> To be honest I've got one more problem to solve - it is to automatically release these locks (put a message from moderator's queue back to main) by timeout, but it should be other conversation I think :)
>
> Best regards, Ostin.
>
> 20 апреля 2012 г. 21:00 пользователь Simon MacMullen <simon at rabbitmq.com> написал:
> On 20/04/12 17:27, ostin wrote:
> Example application with topic exchange:
> I push a message to server1.app1 queue and an other one to
> server1.app2 queue. I monitor server1 queue to determine count of
> processing messages on server 1. After app1 ends processing message it
> shold be deleted from both queues: from app1 to prevent duplicate
> processing, from server1 to have valid stats for monitoring. I assume
> that there can be many applications with random names, so I cant
> monitor just count of messages in app* queues.
>
> If you want to make sure that a given message is only ever consumed from server1.app1 OR server1.app2, why not have only a single queue and have both applications consume from it?
>
> Cheers, Simon
>
> --
> Simon MacMullen
> RabbitMQ, VMware
>
> _______________________________________________
> 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