Embedded Workflows As Code engine for Kotlin powered by Coroutines and Redis-like DB.
- Durable workflows execution with scaling support
- Minimal overhead for durable and fast workflows execution
- Durable timers for notifications or any other delayed jobs
- Run 100K+ workflows simultaneously, see loadTest for more info
See also official docs about using GitHub Packages.
build.gradle.kts
plugins {
id("net.saliman.properties") version "1.5.2"
}
repositories {
mavenCentral()
maven {
url = uri("https://maven.pkg.github.com/KillWolfVlad/workflows.kt")
credentials {
username = project.findProperty("gpr.user") as String?
password = project.findProperty("gpr.key") as String?
}
}
}
dependencies {
implementation("ru.killwolfvlad:workflows:version")
}
gradle-local.properties
gpr.user=xxx
gpr.key=xxx
You can find latest version in GitHub Packages.
WARNING! Don' forget add
gradle-local.properties
to.gitignore
See exampleApp for usage example.
We recommend use HOSTNAME
environment variable for Worker ID and deploy application to Stateful Sets.
- Java v21+ LTS
DB | Client |
---|---|
Redis Standalone v7.4.2+ | LettuceRedisClient1 |
Redis Standalone v7.4.2+ | ReThisRedisClient2 |
We recommend use ReThisRedisClient in most cases
Implement KeyValueClient to provide support for your DB using your library.
This repository is released under version 2.0 of the Apache License.
Footnotes
-
To use this client you must install Lettuce for Kotlin API v6.5.4.RELEASE+ ↩