https://www.jobrunr.io/en/

Distributed Java Background Job Scheduler

JobRunr's blip on the ThoughtWorks Technology Radar.JobRunr featured 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

  1. Thanks for building JobRunr, I like it a lot! Before that I used similar libraries in Ruby and Golang and JobRunr so far is the most pleasant one to use. I especially like the dashboard, it’s awesome!

  2. Just came across JobRunr on Github. Exactly what I have been looking for! Went through the source and completely inline with how software should be written. Simple, nicely architectured! Great job! Pierre-Alexandre Losson - Software architect and entrepreneur

  3. Works perfectly, this framework is a lifesaver for me. Rasika Kaluwalgoda - Senior Software Engineer at Natbuild

  4. Omg…. This being released like a year ago, would be great (for us). Instead, we are hitting a lot of walls trying to use Quartz to replace an old in-house job scheduler A reddit user - Developer

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.

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.

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.

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.

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.

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.

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.

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

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!