I plan to use the Quartz scheduler as I read many good opinions about it.
My problem is as follows: I will have thousands of triggers living in the system at any given time. Most of the triggers will fire just one event and die. In addition, it is very likely I will have to cancel many jobs after their allocation (based on new input).
Can Quartz scale to this? Which JobStore is recommended? I planned to use the JDBC one over mysql.
Added Information: My jobs will either send an e-mail or post data via HTTP post to other services (over WAN).
There are some tips and recommendations in the FAQ:
How many jobs is Quartz capable of running?
An excerpt from the answer:
So let me just say, there are installments of Quartz out there that are managing hundreds-of-thousands of Jobs and Triggers, and that are, at any given moment in time executing several dozens of jobs – without even utilizing Quartz’s load-balancing capabilities.
There is also some discussion in the Quartz Users forum, with experience reports from developers who have used Quartz under similar conditions.
Update 2015-01-12: Unfortunately, the links in the list above broke when the forum was moved, and I'm unable to find new working links. I'll leave the links anyway, in case they help digging out the info from archive.org or elsewhere. The official Quartz forum is now quartz-scheduler on Google Groups.