[rabbitmq-discuss] Orderly purge of a queue without losing messages
adamrabung at gmail.com
Mon Dec 12 20:33:42 GMT 2011
I am working on a feature that will allow an admin to perform "bulk
operations" against a single physical queue. For example, the admin
may want to say "In queue A, Delete all messages with publisher id =
X". Unfortunately, this system will be dealing with large backlogs,
and the admin will need some means of selectively updating/deleting
these backlogs. Throttling publishers is not an option for me.
I believe the only way to do this in Rabbit would be to drain the
queue, perform update/delete against matching messages, and re-queue
them. In addition to being terribly inefficient, this has all kinds
of difficulties: canceling all channels currently listening to the
queue, performing the bulk operation and re-queueing from a single
thread (to preserve order), and then re-connecting all channels.
I am hoping that I am missing something major, and this isn't as bad
as it sounds. Has anyone had success with this type of operation?
Any pointers much appreciated,
More information about the rabbitmq-discuss