title: dynamically load-balanced task queue
body: <p><strong>Set up</strong><br>
  Front-end machine receives web requests and puts 3 different kinds of tasks into <code>Gearman</code> server.<br>
  3 worker machines registered with that gearman server, each can perform any of those tasks.  </p>
  
  <p><strong>Different tasks consume different resources.</strong><br>
  Each task is different in terms of cpu/ram/io consumption.<br>
  The amount of tasks in queue is much greater then the number of workers, meaning each working machine registered multiple worker instances with gearman. </p>
  
  <p><strong>How to dynamically load balance it</strong><br>
  The problem is that one worker machine can get all the cpu extensive tasks, another one would get the i/o extensive task, while ideally a worker can perform much better doing all this different kind of task in parallel. </p>
  
  <p>Perhaps gearman isn't the right tool here?</p>