The ultimate library for background processing in Java.
Distributed and backed by persistent storage.
Open-source and free for commercial use.Alternative for Spring Batch and Quartz Scheduler. Hangfire for Java. Java CRON scheduler. JobRunner. Job Runner

Star us on GitHub!
Amazon ThoughtWorks JP-Morgan-Chase Capgemini
JobRunr's blip on the ThoughtWorks Technology Radar.

Trusted by developers worldwide.

With 30.000 unique downloads per month and over 10 billion processed jobs in less than a year, JobRunr is trusted and loved by developers worldwide.

Don't take our word for it: ThoughtWorks, a leading global technology consultancy company has put us on their Technology Radar with blip 98:

Our teams have enjoyed using JobRunr's built-in dashboard, which is easy to use and allows the monitoring and scheduling of background tasks.

20% productivity increase.

A bold claim - we know. Praised by management, these words are not ours:

We have seen a 20% developer productivity increase thanks to JobRunr Pro. As our first line support uses the dashboard to diagnose issues and help our customers, the engineering team can focus on what matters.
Peter Davidson - Tracer.ai

A screenshot of the default dashboard that comes out-of-the-box with JobRunr.

Scale beyond your dreams.

Easily handle millions of jobs daily without altering your code - JobRunr can easily be added to any software architecture, whether it is a micro-service architecture or a modular monolith.

Save costs by scaling up and down depending on the amount of load, either on premise or at your preferred cloud-provider.


Scale beyond your dreams using JobRunr.
Don't bother your legal team - JobRunr is not a SaaS and we do not have access to your data.

Don't bother your legal team.

We're not another SaaS company and we don't have access to your data.

We just provide the essential tools for your engineering team.


Why JobRunr

Simple

Easy to set up, easy to use. Add the jar from Maven Central and start scheduling jobs. An easy alternative for Spring Batch and Quartz Scheduler.

Background jobs are regular java methods with regular arguments – no super class or interface implementation required.

Persistent

Background jobs are created in a persistent storage and supports RDBMS like MySql/MariaDB, PostgreSQL, Oracle, SQL Server, DB2 and also NoSQL databases like ElasticSearch, Redis and MongoDB.

You can safely restart your application and use JobRunr without worrying about losing jobs.

Transparent

Thanks to the built-in web interface, you have an overview of all your background jobs and observe the state of each job in detail.

Out of the box support for popular logging frameworks allows you to catch errors early with zero configuration.

Distributed

Background method calls and their arguments are serialized to JSON and can travel over JVM instances.

You can use JobRunr on different machines to get more processing power with no extra configuration – synchronization is performed automatically.

Reliable

Once a background job was created without any exception, JobRunr takes the responsibility to process it at least once.

You are free to throw unhandled exceptions or terminate your application – background jobs will be re-tried automatically.

Extensible

Job filters allow you to add custom features to the background processing in a way similar to servlet filters.

Job storage access is fully abstracted and you can implement support for your favorite storage.

Efficient

JobRunr takes just enough jobs into memory to process them efficiently and does not keep any locks on other jobs. This allows to distribute the jobs in the best possible manner.

Self maintaining

You don’t need to perform manual storage clean-up – JobRunr keeps it as clean as possible and removes succeeded jobs automatically.

Open source

JobRunr is open source software and is completely free for commercial use. It is licensed under LGPLv3 license.

Fork the project and make contributions on GitHub!