title: General-purpose distributed scheduling library for Java
body: <p>I'm looking for some general library for scheduling lots of tasks. The library has to provide ability to split tasks across nodes in cluster, perform load balancing and fault tolerance - so if some node goes down, the tasks for the node has to be distributed across remaining nodes.</p>
  
  <p>I looked at the Hadoop - but look like it will work well for map-reduce tasks. In my case tasks are simply senders of notifications, checkers for object state etc.</p>
  
  <p>Quartz seems to be great - but it's not clear how good is it when it comes down to dispatching events to nodes.</p>
  
  <p>Any other options?</p>