Jobrunr Jobrunr Versions Save

An extremely easy way to perform background processing in Java. Backed by persistent storage. Open and free for commercial use.

v6.3.0

9 months ago

Celebration time!

I'm pleased to announce the release of JobRunr v6.3.0 (which is now available via Maven Central) and JobRunr Pro v6.3.0 which is available for customers with a subscription.

Since the 6.2.0 release, we did some performance improvements related to the dashboard resulting in less calls to the JobRunr rest API and we also did stability improvements which should result in less SevereJobRunrExceptions. This release adds support for Micronaut 4 and Kotlin 1.9.

In JobRunr Pro, we added Observability support, added the option to set a Job time-out, users can now sort the jobs in the dashboard and we improved the RetryPolicy which now also allows to specify a custom amount of retries per Exception. And last but not least, all dependencies were also updated.

I also want to shoutout to Sergi Almar who improved the spring-boot-starter and Geir Sagberg who fixed a bug in the dashboard for their contributions. You have my eternal 🙏.

Observability

Although the JobRunr Pro Dashboard gives instant insights how your jobs are doing, you may already have an observability platform like Jaeger, HoneyComb or New Relic running inside your organization. JobRunr Pro now out-of-the box integrates with many of these observability platforms so you can keep on top of things. This means you can now see how long your different Job instances take and where a job spends the most time right from your existing observability platform.

Job Timeout

A Job time-out is exactly what you think it is - specify it when creating a Job and if the Job is processing longer than the given time-out, JobRunr will automatically interrupt it.

Improvements

Bugfixes

v6.2.3

11 months ago

New features

None

Bugfixes

  • #796 Fix requeue and delete from dashboard

v6.2.2

11 months ago

New features

None

Bugfixes

  • #782 : Job State Change Filters are also invoked when no state change happened
  • Improve caching of job analysis when using Java Stream API

v6.2.1

11 months ago

New Features

None

Bugfixes

  • jobrunr/jobrunr#777: Fix bug related to Quarkus 3.0 compatibility if using JSONB.
  • jobrunr/jobrunr#779: Fix issue records not working when using Jackson

Other

All dependencies have been updated to their latest version.

v6.2.0

1 year ago

Celebration time!

I'm pleased to announce the release of JobRunr v6.2.0 (which is now available via Maven Central) and JobRunr Pro v6.2.0 which is available for customers with a subscription.

This release includes an important bugfix for people running JobRunr on Windows machines that was reported by the community and a Pro customer. Sometimes, no jobs were processed on Windows due to a deadlock when querying CPU information. This has now been solved.

On top of that, we did some profiling and made JobRunr a bit faster. Last but not least, we upgraded our dependencies including Spring Boot 3 and we now also support Quarkus 3.0. Support for Quarkus 2.0 and Kotlin 1.6 has dropped as we want to stay up-to-date with the latest technologies.

For JobRunr Pro customers, we added a very cool and much requested feature: dynamic queues or load-balancing!

This means your application can now support multiple tenants concurrently. Even in a scenario where one tenant, say Tenant-A, generates millions of jobs while others only create a few, these other tenants won't be left waiting until all of Tenant-A's jobs are completed. Instead, JobRunr utilizes a round-robin load-balancing strategy to ensure each tenant receives balanced job processing, facilitating fairness in processing their jobs.

Read all about [dynamic queues]({{< ref "documentation/pro/dynamic-queues.md" >}}) in the JobRunr Pro documentation!

Improvements

Bugfixes

v6.1.4

1 year ago

New Features

  • jobrunr/jobrunr#751: Better JavaDoc for StorageProvider API

Bugfixes

  • jobrunr/jobrunr#732: StorageProvider.recurringJobExists() returns different results depending on database
  • jobrunr/jobrunr#746: Using multiple Datasources in Spring Boot is not working
  • jobrunr/jobrunr#747: DocumentDB is not working as of JobRunr v6.x.x due to incompatible index

v6.1.3

1 year ago

New features

None

Bugfixes

  • Issue jobrunr/jobrunr-pro 113: Allow to disable high number of calls to jobrunr_job_stats view (Allow to disable JMX for JobStats)

v6.1.2

1 year ago

New features

None

Bugfixes

  • Fix #717 / #317 / #677 JobRunr fails to update metadata, and eventually shuts down, when using MySQL with useServerPrepStmts = true
  • Fix #723 Quarkus Configuration Database Type not working

v6.1.1

1 year ago

New features

None

Bugfixes

  • jobrunr/jobrunr#714: Bugfix regarding migration Recurring Jobs from v5 to v6 for labels (only in OSS version)
  • jobrunr/jobrunr#711: Bugfix regarding migration from Jobs from v5 to v6 for labels when using Yasson

v6.1.0

1 year ago

🎉 We're happy to announce the release of JobRunr and JobRunr Pro 6.1.0 🎉.

This release includes an important bugfix that surfaced during our internal load testing that exists already since JobRunr 1.0. In some cases, JobRunr does not close an InputStream resulting in a FileSystemException because of too many open files. See GitHub issue 707 for more info.

Another big improvement is that you now have more options in the JobServerFilter, allowing you to take custom actions when a Job failed and all the retries are exhausted.

Improvements

  • GitHub issue 639 JobRunr Pro : You can now change the Recurring Job schedule from the dashboard
  • GitHub issue 571 JobRunr Pro : Liquibase and Flyway support
  • GitHub issue 687 JobRunr Pro : Allow to have different user for SQL migrations then at runtime
  • GitHub issue 671: Allow easier mocking of JobContext: you can now call MockJobContext.setUpJobContext(jobContext) which helps to test Jobs using the JobRequest & JobRequestHandler
  • GitHub issue 690: Quarkus extension support for AWS DocumentDB: JobRunr now also supports AWS DocumentDB out of the box
  • GitHub issue 696: The functionality of the JobServerFilter has improved a lot. You can now have custom logic that will be executed when a job succeeds, fails or fails after all retries are exhausted.

Bugfixes

  • GitHub issue 50 JobRunr Pro: Performance improvements related to batch jobs
  • GitHub issue 27 JobRunr Pro: Performance improvements related to batch jobs
  • GitHub issue 104 JobRunr Pro: On intermittent database problems, JobRunr stops processing
  • JobRunr Pro The dashboard running in Spring did not support context path
  • GitHub issue 707: Classpath InputStream not closed when analysing a lambda
  • GitHub issue 691: JobContext as parameter for Recurring Job not working for Quarkus (we had to work around a bug in Quarkus)
  • GitHub issue 694: Primitive Parameters used in lambda are cached in some cases.