The ultimate library for background processing in Java.
Distributed and backed by persistent storage.
Open-source and free for commercial use.

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

Trusted by developers worldwide.

With 300.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.
Easily scale up and down

Easily scale up and down

Handle millions of jobs per day without changing your code. JobRunr fits seamlessly into any architecture: microservices, modular monoliths, or anything in between.

Save costs by scaling dynamically based on load, whether you're running on-premise or in the cloud.


JobRunr Pro: Built for production at scale

Need more than fire-and-forget jobs? JobRunr Pro gives you priority queues, batches with chaining, and workflow management, ideal for time-critical processes, transactional flows, and large-scale data workloads.

With support for up to 5,000 recurring jobs, an advanced dashboard, and SSO, Pro is trusted by companies like Decathlon and Collibra to streamline backend operations across production clusters.


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

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!