Wouldn&#39;t a dead letter queue approach work in this case? I.e if your consumer gets an unprocessable message, stop the consumer and publish the message to some other queue. Then, when restarting the application first consume the message(s) from the DLQ<div>
<div><br></div><div>/Marcus</div><div><a href="http://developian.blogspot.com">http://developian.blogspot.com</a><br><div><div><div><br><div class="gmail_quote">On Tue, Jan 26, 2010 at 9:31 AM, alex chen <span dir="ltr">&lt;<a href="mailto:chen650@yahoo.com">chen650@yahoo.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Thanks Matthias for the quick response! �Our application processes time series data so it is crucial to keep the message order. �It has one exclusive consumer only. �It would be really nice if rabbitmq could send the unacked messages first for this use case.<br>

<font color="#888888"><br>
-alex<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
----- Original Message ----<br>
From: Matthias Radestock &lt;<a href="mailto:matthias@lshift.net">matthias@lshift.net</a>&gt;<br>
To: alex chen &lt;<a href="mailto:chen650@yahoo.com">chen650@yahoo.com</a>&gt;<br>
Cc: <a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
Sent: Mon, January 25, 2010 11:23:23 PM<br>
Subject: Re: [rabbitmq-discuss] keep unacked message at the head of queue<br>
<br>
Alex,<br>
<br>
alex chen wrote:<br>
&gt; Currently rabbitmq re-queues the unacked messages to the end of<br>
&gt; queue. �Is it possible to keep those messages at the head of queue<br>
&gt; instead?<br>
<br>
No, that isn&#39;t possible.<br>
<br>
&gt; Our application needs to keep the ordering of the messages.<br>
<br>
The ordering guarantees provided by AMQP are very constrained. See section 4.7 of the AMQP 0-9-1 spec which, for example, states that all bets are off when messages get redelivered.<br>
<br>
There are good reasons for being so restrictive: excessive ordering guarantees are bad for scalability. Also, it is actually logically impossible to maintain message order in all but the simplest scenarios. For example, even just adding a second consumer to a queue necessarily breaks the order of redeliveries wrt other messages.<br>

<br>
<br>
Regards,<br>
<br>
Matthias.<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
</div></div></blockquote></div><br></div></div></div></div></div>