<div>Thanks for your recommendations, I'll take a look at the topic exchange but if what I've proposed sounds ok then I'll leave it as that.</div><div><br></div><div>When I receive a message from a queue does that remove it from the queue or just mark is as read? Do messages get automatically stored to disk or do I need to explicitly turn that on? </div>
<div><br></div><div>Thanks again.</div><br><div class="gmail_quote">On 6 September 2010 14:41, Vlad Alexandru Ionescu <span dir="ltr"><<a href="mailto:vlad@rabbitmq.com">vlad@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Apart from the mentioned 'direct' and 'topic' exchange types, there is also the 'headers' exchange (match on a number of attributes that you specify).<br>
<br>
Rgds,<br><font color="#888888">
Vlad.</font><div><div></div><div class="h5"><br>
<br>
<br>
On 09/06/2010 02:38 PM, Alexandru Scvorţov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
There's nothing inherently wrong with what you describe.<br>
<br>
Depending on what you filter on, you could make it simpler. If you<br>
filter on a message name/id or something like that, you could probably<br>
just bind the filtered queue to a direct exchange (match on the routing<br>
key) or a topic exchange (match on something like a regexp).<br>
<br>
If you're filtering rules are more complicated or if they involve<br>
inspecting the message content, what you're doing is probably the way<br>
to go. You could also write a custom exchange type as a plugin.<br>
<br>
Cheers,<br>
Alex<br>
<br>
On Mon, Sep 06, 2010 at 02:03:44PM +0100, Tom Martin wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I'm building a system which takes incoming messages, filters them and stores<br>
them to DB. I have each of these three bits running as separate ruby<br>
processes, if the filter or database saving processes die then when they<br>
come back, new messages are waiting in the queue.<br>
<br>
I've implemented this using two separate queues: an incoming queue and<br>
a filtered queue. The filtering process just takes the incoming queue, does<br>
it's business and inserts it into the filtered queue. The DB storing process<br>
takes the filtered queue and stores them to DB.<br>
<br>
I'm very new to RabbitMQ, is this kind of flow correct, creating two<br>
different queues? or is there a better way to do it using Exchanges or some<br>
other part of RabbitMQ?<br>
<br>
</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">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>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">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></div></blockquote></div><br><br clear="all"><br>-- <br>Tom Martin<br><a href="http://devart.org">devart.org</a><br>