57

Has anyone found any alternative open-source solutions to Quartz which they are happy with?

I know Cronacle is a well respected (and pricey) closed source solution for job scheduling but I'd like to make sure we exhaust the open-source alternatives before going down that route.

Teddy
  • 6,013
  • 3
  • 26
  • 38
cclark
  • 1,402
  • 3
  • 17
  • 25
  • 13
    Whats wrong with Quartz? – cletus Nov 16 '09 at 05:11
  • 10
    @cletus: It has a poorly designed API, it's buggy, and a pig to set up for all but simple configurations. I'd love an alternative, but I've yet to find one. – skaffman Nov 16 '09 at 15:06
  • 2
    We're choosing to make due with Quartz for now. There are more pressing issues for us to deal with and Quartz is the devil we already know. Our stop-gap solution involved breaking our jobs up into three separate Quartz instances which means three separate sets of Quartz tables in the DB. Ugly, but it works -- AND is listed as technical debt to be addressed. – cclark Jan 20 '10 at 23:08
  • @cclark we were using four separate sets of tables. Now we are going do use quartz to do the minimal work it should do (as a timer).We will handle job state ourselves. What about your progress? Anything worth sharing? thx! – Han Zheng Jan 22 '14 at 09:50
  • @han-zheng I have moved on from that project. Separating the tables was working, but it certainly was pretty. As far as I know it still persists that way today. – cclark Jan 30 '14 at 08:01
  • @cclark Have you ever found solution to this? – pinkpanther Jun 26 '23 at 15:52
  • One limitaiton with Quartz in clustered mode: Quartz uses JDBC connections to operate in clustered mode. If the application is distributed, runing in multiple containers it will require multiple JDBC connection. In most of the cases SQL servers are shared accross the services which limits the number of JDBC connections a service can make withe the SQL server. – quintin Jul 02 '23 at 08:36

3 Answers3

61

Did you already check all of those listed in Open Source Job Schedulers in Java:

  1. jcrontab
  2. Quartz
  3. Fulcrum Scheduler
  4. Essiembre J2EE Scheduler
  5. Gos4j
  6. Oddjob
  7. Job Scheduler
  8. JDRing
  9. jBatchEngine
  10. MyBatchFramework
  11. Super
  12. cron4j
Hendy Irawan
  • 20,498
  • 11
  • 103
  • 114
jitter
  • 53,475
  • 11
  • 111
  • 124
  • 6
    I'd like to share an answer which goes more into detail and contains descriptions of these libraries: http://stackoverflow.com/a/1499047/840405 – Samuel Jan 05 '15 at 10:48
  • 1
    I upvoted because it answers briefly to the question. But would be better with a small description or some kind of comparison against Quartz. – Paulo Oliveira Mar 10 '17 at 20:05
  • @jitter which among these would you recommend to use? – Swapnil B. May 04 '18 at 23:05
7

I did some looking a while back and was hard-pressed to find any open source Java-based job scheduler that seemed to have even a fraction of the reputation and usage of Quartz. I would be really curious to hear why Quartz isn't sufficient.

Alex Miller
  • 69,183
  • 25
  • 122
  • 167
  • 1
    Sorry to comment on an old post, but I wanted other users to understand some of the issues with Quartz. The big one for us is volatile and non-durable jobs and triggers. We have a mix of both and they are essential to our system. Quartz has many bugs around volatility and durability, and this comment from James House regarding volatile jobs and triggers is troubling: "The entire notion of volatility is removed with Quartz 2.0. No one uses the feature. If you do have need for non-persisted scheduling data, use a RAMJobStore." – brettw Feb 09 '11 at 02:02
  • Quartz uses JDBC connections to operate in clustered mode. If the application is distributed, runing in multiple containers it will require multiple JDBC connection. In most of the cases SQL servers are shared accross the services which limits the number of JDBC connections a service can make withe the SQL server. – quintin Jul 02 '23 at 08:36
-4

What about Flux Scheduler (http://fluxcorp.com/)? Now http://flux.ly.

jhouse
  • 2,674
  • 1
  • 18
  • 17