How do you manage your consumer/worker processes? Does anyone look at the queue lengths and automatically adjust the number of consumers?<div><br></div><div>Is anyone using <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://supervisord.org/">http://supervisord.org/</a> for managing consumer processes?</div>
<div><br></div><div><br></div><div><br></div><div>I have a pool of servers to run a small collection of consumers that do different tasks. As load dictates (by looking at messages waiting in queues) I'd like to be able to dynamically re-balance the mixture of consumers. For example, if a lot of requests come in for report generation and I have a lot of idle consumers that do image manipulation I'd like to reduce the number of image processing consumers and add more report generation consumers. </div>
<div><br></div><div>(Many of my consumers are pretty simple in that they just run some command line tool.)</div><div><br></div><div>What's your approach?</div><div><br></div><div><br></div><div>And do you tend to write consumers that are small stand-alone programs (something easy for Supervisor to manage) or write larger (perhaps more complex) stand-alone apps that listen to a queue and fork (or threads) workers do handle incoming messages?</div>
<div><br></div><div><br></div><div><br>-- <br>Bill Moseley<br><a href="mailto:moseley@hank.org" target="_blank">moseley@hank.org</a><br>
</div>