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.
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.
Quartz seems to be great - but it's not clear how good is it when it comes down to dispatching events to nodes.
Any other options?
QuartzJobScheduling is an open-source job scheduling library. It has a rich set of features that can integrate into our Java applications virtually. We can integrate it with either a stand-alone application or the largest e-commerce system. Quartz is used for creating complex schedules having tens-of-thousands of jobs.
Quartz is distributed as a small java library (. jar file) that contains all of the core Quartz functionality. The main interface (API) to this functionality is the Scheduler interface.
The @EnableScheduling annotation is used to enable the scheduler for your application. This annotation should be added into the main Spring Boot application class file. The @Scheduled annotation is used to trigger the scheduler for a specific time period.
Sounds like a use case for Akka.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With