An extremely easy way to perform background processing in Java. Backed by persistent storage. Open and free for commercial use.
OTHER License
Bot releases are visible (Hide)
Published by rdehuyss over 2 years ago
@Recurring
annotation now also supports an intervalJobContext
using MockJobContext
@Creator
Jackson annotation now works in KotlinCachingJobDetailsGenerator
JedisRedisStorageProvider
and LettuceRedisStorageProvicer
Published by rdehuyss over 2 years ago
Published by rdehuyss over 2 years ago
On top of that JobRunr now also shares some anonymous data usage (the amount of succeeded jobs) for marketing purposes (a counter on the website how many jobs in total were processed by JobRunr 😂). Off-course you can opt-out for this using a simple setting.
Published by rdehuyss over 2 years ago
Published by rdehuyss over 2 years ago
I'm pleased to announce the release of JobRunr v5.0.0 (which is now available via Maven Central) and JobRunr Pro v5.0.0 which is available for customers with a subscription. As this is a major release, there are also some small breaking changes.
This release again adds quite some new improvements to JobRunr:
BackgroundJob.scheduleRecurringly("my-recurring-job", Duration.parse("PT5D"), () -> service.doWork());
jobrunr-spring-boot-native
and your app will launch in milliseconds.type
and JobRunr will select that database.noIndex
and noFollow
meta tag so that your jobs stay private.JobRunr Pro also received a lot of new features!
pollInterval
.JobFilters
to easily extend the functionality of JobRunr. In JobRunr Pro, this becomes even easier as any Spring / Micronaut / Quarkus bean that implements the JobClientFilter
or JobServerFilter
will automatically be registered in JobRunr.ServerTags
to specify on which server a Job
can run. From now on, you can even limit to run a job on the same server that scheduled it using the annotation @Job(runOnServerWithTag = "%CURRENT_SERVER")
enqueueOrReplace
and scheduleOrReplace
methods it is now possible to update existing jobs at any point in the lifecycle of that job.Daniela Tumbraegel, ShawnNest for the PR's and Josh Long fun pairing session to add support for Spring Boot Native - the Spring guys are really amazing! I also want to thank Pei-Tang and Jan Holger for sponsoring me and making sure I have enough caffein!
org.jobrunr.background-job-server.enabled=false
DataSource
in case of multiple supported databases.Published by rdehuyss over 2 years ago
Note: JobRunr 5.0.0 and JobRunr Pro 5.0.0 are currently release candidates. I expect to release JobRunr 5.0.0 by the end of March 2022.
I'm pleased to announce the release of JobRunr v5.0.0 (which is now available via Maven Central) and JobRunr Pro v5.0.0 which is available for customers with a subscription. As this is a major release, there are also some small breaking changes.
This release again adds quite some new improvements to JobRunr:
BackgroundJob.scheduleRecurringly("my-recurring-job", Duration.parse("PT5D"), () -> service.doWork());
jobrunr-spring-boot-native
and your app will launch in milliseconds.type
and JobRunr will select that database.noIndex
and noFollow
meta tag so that your jobs stay private.JobRunr Pro also received a lot of new features!
pollInterval
.JobFilters
to easily extend the functionality of JobRunr. In JobRunr Pro, this becomes even easier as any Spring / Micronaut / Quarkus bean that implements the JobClientFilter
or JobServerFilter
will automatically be registered in JobRunr.ServerTags
to specify on which server a Job
can run. From now on, you can even limit to run a job on the same server that scheduled it using the annotation @Job(runOnServerWithTag = "%CURRENT_SERVER")
enqueueOrReplace
and scheduleOrReplace
methods it is now possible to update existing jobs at any point in the lifecycle of that job.Daniela Tumbraegel, ShawnNest for the PR's and Josh Long fun pairing session to add support for Spring Boot Native - the Spring guys are really amazing! I also want to thank Pei-Tang and Jan Holger for sponsoring me and making sure I have enough caffein!
org.jobrunr.background-job-server.enabled=false
DataSource
in case of multiple supported databases.Published by rdehuyss over 2 years ago
None
Published by rdehuyss over 2 years ago
Published by rdehuyss over 2 years ago
Published by rdehuyss over 2 years ago
Published by rdehuyss almost 3 years ago
Published by rdehuyss almost 3 years ago
None
Published by rdehuyss almost 3 years ago
Published by rdehuyss almost 3 years ago
Published by rdehuyss almost 3 years ago
None
Published by rdehuyss almost 3 years ago
Published by rdehuyss about 3 years ago
I'm pleased to announce the release of JobRunr v4.0.0 (which is now available via Maven Central) and JobRunr Pro v4.0.0 which is available for customers with a subscription. As this is a major release, there are also some small breaking changes.
This release adds a ton of new improvements to JobRunr:
@Recurring
annotation for Recurring jobs@Recurring
annotation for Recurring jobs@Recurring
annotation for Recurring jobsBackgroundJobServer
is still alive, it is important that the JVM does not stop too long. JVM's can stop due to full garbage collection taking too long or if they are running on shared cloud hardware where resources are stealed by other processes. JobRunr now detects this and shows a warning in the dashboard as it can impact the cluster.JobRunr Pro also received a lot of new features!
DatabaseOptions
moved to StorageProviderUtils. You will need to adapt your import.pollIntervalInSeconds
can not be smaller than 5 or else an exception will be thrown. This is to not generate too much load on your SQL or noSQL database (and I think 5 seconds is even too low to be honest)ElectStateFilters
and are changing states that are not valid (e.g. from FAILED
to SUCCEEDED
, from PROCESSING
to PROCESSING
). Make sure to (unit) test these ElectStateFilters
against the latest Job
class.JobRunr.configure()....initialize()
now returns a JobRunrConfigurationResult
which contains the JobScheduler
and the JobRequestScheduler
. This is done to add support for scheduling jobs via Java 8 lambda's and via the JobRequest
interface.BackgroundJobServerConfiguration andWorkerCountPolicy(BackgroundJobServerWorkerPolicy backgroundJobServerWorkerPolicy)
has been renamed to BackgroundJobServerConfiguration andBackgroundJobServerWorkerPolicy(BackgroundJobServerWorkerPolicy backgroundJobServerWorkerPolicy)
JobContext.getMetadata()
method now returns an unmodifiable Map. To add metadata, you should now use the JobContext.saveMetadata(String, Object)
methodAs always, I strive for clean code when I'm working on JobRunr (or any other project). That's why this release got some extra love and fixes related to SonarQube.
Pei-Tang, Neil, Federico, Kevin and Anatolijs for various pull requests and help with issues!
Published by rdehuyss about 3 years ago
Published by rdehuyss about 3 years ago
Small improvements and a bugfix
Published by rdehuyss about 3 years ago
This is release candidate 1 for v4.0.0, biggest release since v1.0.0.
It contains a lot of improvements... stay tuned!
needed to recreate the release due to publishing problems to Maven Central.
BackgroundJobServer
is still alive, it is important that the JVM does not stop too long. JVM's can stop due to full garbage collection taking too long or if they are running on shared cloud hardware where resources are stealed by other processes. JobRunr now detects this and shows a warning in the dashboard as it can impact the cluster.JobRequestScheduler
a new way to create jobs using objects instead of lambda's.ElectStateFilter
s and are changing states that are not valid (e.g. from Failed
to Succeeded
, from Processing
to Processing
).JobRunrConfigurationResult
which contains the JobScheduler
and the JobRequestScheduler
BackgroundJobServerConfiguration andWorkerCountPolicy(BackgroundJobServerWorkerPolicy backgroundJobServerWorkerPolicy)
has been renamed to BackgroundJobServerConfiguration andBackgroundJobServerWorkerPolicy(BackgroundJobServerWorkerPolicy backgroundJobServerWorkerPolicy)