<div dir="ltr">If you know the clients ahead of time you can set up a queue per client instead of a single consolidated queue.<div><div><br></div><div>Then subscribe to each queue from each worker (or a subset of workers) with prefetch = 1 using ack.</div>
</div><div><br></div><div>Michael</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Oct 20, 2013 at 8:36 PM, Dan Larkin <span dir="ltr">&lt;<a href="mailto:dan@danlarkin.org" target="_blank">dan@danlarkin.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I have an interesting serialization requirement for my app:  I need to enforce that only one message with the same AMQP header &quot;client&quot; is ever out for delivery in any given snapshot of time.<br>
<br>
Right now I have messages flowing into rabbit to a &quot;direct&quot; exchange, all with &quot;client&quot; headers. And since I have multiple worker nodes pulling from the queue they&#39;re ending up in, it&#39;s possible for two messages with the same &quot;client&quot; header to be processed at the same time. And the goal here is to prevent that from happening.<br>

<br>
I thought at first this might be possible with a custom exchange, but afaict exchanges are basically limited to controlling how messages get routed, not how they get delivered.<br>
<br>
So my question is simply:  is this behavior possible?<br>
<br>
Thanks for your help,<br>
Dan<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="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><br></div>