title: Open source Java Job Scheduler with: remoting, load balancing, failover, dependency DAG?
body: <p>I'm looking for an open source Java Job Scheduler that allows sending different kind of jobs (not only flop intensive) and distributes them across many machines. It should also monitor the jobs and retry on different nodes should any job fail or the slave node crash. I would also appreciate load balancing similar to OpenMP or MPI. Ideally you should be able to pass in a Job dependency graph and the jobs will be processed in a topological-ordered fashion and parallelization should be done where possible. </p>
  
  <p>The closest match I know to this is Quartz but this only allows scheduling single jobs by time and there is no remoting, failover, load balancing and dependency handling capabilities. </p>
  
  <p>Such solution could be built on top of Quartz and a MOM server e.g. ActiveMQ but I'd like to be sure there is nothing out there first before building this up.</p>
  
  <p>Probably a MapReduce port to Java would also do.</p>