JobRunr compared

Comparing JobRunr to some alternatives...

Below you can find an external audit where JobRunr is compared to some alternatives.

This report was created on June 19, 2020 and updated on July 09, 2021.

Feature matrix

The following tables provides an overview of each approach’s features.

Project characteristicsJobRunrQuartzNative JEE (Timer, ExecutorService)Spring (scheduling support)db-scheduler
LicenceLGPL v3Apache v2.0GNU GPL v2Apache v2.0Apache v2.0
CostFreeFreeFreeFreeFree
Project healthActively maintained since April 2020,
13 contributors, 47 releases
Actively maintained, on GitHub since 2010,
28 contributors, 26 releases
Since Java 5Actively maintained since 2002,
544 contributors, over 200 releases
Actively maintained since September 2015,
22 contributors, 48 releases
Support channelsGitHub Discussions and pro tierGoogle groups (forum, mailing list)N/APublic community and pro tierGitHub
DocumentationOnline documentationOnline documentationNone dedicated (numerous guides)Online documentationGitHub README
Participates in OpenJDK
Quality Outreach Program
YesNoN/AYesNo
Developer friendliness5/52/53/53/53/5
Core featuresJobRunrQuartzNative JEE (Timer, ExecutorService)Spring (scheduling support)db-scheduler
Support for definition of job typesNoYesNoNoYes
Custom Trigger supportNoYesNoYesYes (Tasks.custom)
Cron supportYesYesNoYesYes
Asynchronous jobsYesYesYesYesYes
Delayed jobsYesYesYesYesYes
Recurring (scheduled) jobsYesYesYesYesYes
Persistent jobsYesYesNoYes (with Quartz)Yes
Management of existing jobsYesYesNoYes (with Quartz)Yes
Advanced featuresJobRunrQuartzNative JEE (Timer, ExecutorService)Spring (scheduling support)db-scheduler
Distributed processingYes, out-of-the-boxYesNoYes (with Quartz)Yes
Transactional schedulingYesYesNoYes (with Quartz)Yes
Job execution thread poolYesYesYesYesYes
Cluster safe (i.e. single job execution)Yes, (optimistic locking)Yes, (row locks)NoYes (Quartz or Shedlock)Yes, (optimistic locking)
Multiple job stores (e.g. in-memory and DB)YesYesNoYes (with Quartz)No
Job listeners (notifications on jobs triggers)YesYesNoYes (with Quartz)No
Decoupled scheduling and processingYesYes (?)NoYes (with Quartz) (?)Yes
Storage supportJDBC, RAM, MongoDB,
Amazon Document DB,
ElasticSearch, Redis
JDBC, Ram, TerracottaNAMultiple (Quartz or Shedlock)JDBC
Bonus featuresJobRunrQuartzNative JEE (Timer, ExecutorService)Spring (scheduling support)db-scheduler
Web dashboardYesNoNoNoNo
Easy scheduling using lambdasYesNoNoNoYes

JobRunr gets a 5/5 score for developer friendliness as it:

  • comes out-of-the-box with a web dashboard to present past, present and future jobs, along with execution statistics and management controls
  • has great Spring Boot, Micronaut and Quarkus integration
  • auto generates all SQL Tables / NoSQL data structures on first launch
  • allows to start and schedule jobs in a 1-liner using nothing more than a Java 8 lambda