<div dir="ltr">I&#39;ve just replied to your question: <a href="http://stackoverflow.com/a/14612183/342013">http://stackoverflow.com/a/14612183/342013</a><div><br></div><div>Regards,</div><div><br></div><div>Alvaro</div></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 30, 2013 at 4:53 PM, Phill Pafford <span dir="ltr">&lt;<a href="mailto:phillpafford@gmail.com" target="_blank">phillpafford@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Here is a little about the setup I have currently. ( <a href="http://stackoverflow.com/questions/14594569/rabbitmq-implementation" target="_blank">http://stackoverflow.com/questions/14594569/rabbitmq-implementation</a> )</div>
<div><br></div><div>- REST API to push ( POST ) data into a queue</div><div>- The Queue has a Consumer that&#39;s always running and Produces to en Exchange</div><div>- The Exchange routes to several other Queues ( like 20+ )</div>
<div>- Each of the ( 20+ ) Queues does a specific task ( The Consumers always runs as well )</div><div>- Cron job runs to check if all the ( 20+ ) Tasks are completed and Produces to yet another Queue</div><div><br></div>
<div>I&#39;m not sure I like the Consumers running all the time as each Consumer utilizes around 300MB of Ram ( I think it&#39;s MBs, it&#39;s not in front of me at the moment ) and I&#39;m looking for another implementation.</div>
<div><br></div><div>        M &lt;-- Message coming from REST API</div><div>        |</div><div>        |</div><div>        +-First Queue</div><div>        |</div><div>        |</div><div>        | &lt;-- The Exchange</div>
<div>       /|\</div><div>      / | \</div><div>     /  |  \ &lt;-- bind to multiple queues ( 20+ )</div><div>    Q1  Q2  Q3 &lt;-- Each Queue is a task that must be completed</div><div>    </div><div>    </div><div>        | &lt;-- CRON runs to check if all queues above have completed</div>
<div>        |</div><div>        |</div><div>        Q4 &lt;-- Queues 1,2 and 3 must finish first before Queue 4 can start</div><div>        |</div><div>        C &lt;-- Consumer </div><div><br></div><div>I the related question below it was suggested to use RPC but the problem with this is the RPC ( to my understanding ) Will have multiple instances. This is a resource intense process as is and I think by adding the RPC calls it will just bog down the server and then become unresponsive ( Please correct me if I&#39;m wrong ).</div>
<div><br></div><div>Another approach was to use the Aggregator pattern </div><div><br></div><div> - <a href="http://www.eaipatterns.com/Aggregator.html" target="_blank">http://www.eaipatterns.com/Aggregator.html</a></div>
<div><br></div><div>Which looks exactly what I need but I found the documentation limited. Has anyone done this pattern? </div><div><br></div><div>My question is I&#39;m not happy with how it&#39;s currently implemented and I&#39;m looking for ways to improve the process. I&#39;m looking to either get rid of the CRON, Implement a new Pattern and Not have the Consumers run all the time.</div>
<div><br></div><div>The process currently also only supports a single instance of each consumer. It can have multiple consumers but how we have implemented it we only wanted one at the time.</div><div><br></div><div>This is implemented in PHP, Symfony2 Framework using the RabbitMQBundle</div>
<div><br></div><div>Related Question:</div><div><br></div><div> - <a href="http://stackoverflow.com/questions/13861459/rabbitmq-wait-for-multiple-queues-to-finish" target="_blank">http://stackoverflow.com/questions/13861459/rabbitmq-wait-for-multiple-queues-to-finish</a></div>
<div><br></div><div> </div><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>