[rabbitmq-discuss] Schedule Messages

Michael Bridgen mikeb at rabbitmq.com
Fri Oct 1 13:45:46 BST 2010


>> Another solution, which you can implement right now, is to get the
>> publishers to stick an expiry header into the message and to publish
>> the message to a dedicated delay queue. A helper app consumes messages
>> from that queue one at a time and checks the expiry. If the expiry is
>> in the past it re-publishes the message to the appropriate exchange
>> for routing. Otherwise it waits until the deadline.
> 
> This (any many other) AMQP intermiediaries would be assisted by:
> 
> - A way to consume messages without receiving the message content, just
>   the properties and headers.
> 
> - A way to republish consumed messages without having to re-send the
>   message content to the server.
> 
> An with these features, implementing a general and efficient message
> scheduler based on timer wheels would be fairly simple.

Interesting thought; like a basic.head (just the headers please) and 
basic.redirect (please dequeue this and publish it again).  The latter 
could work with (unacked) messages acquired through basic.consume or 
basic.get, too.

In the case of plugins, using a direct connection is effectively the 
same thing, by the way.

mkb


More information about the rabbitmq-discuss mailing list