Skip to content

Embedded Workflows As Code engine for Kotlin powered by Coroutines and Redis-like DB

License

Notifications You must be signed in to change notification settings

KillWolfVlad/workflows.kt

Repository files navigation

workflows.kt


Embedded Workflows As Code engine for Kotlin powered by Coroutines and Redis-like DB.

Features

  • 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

Install

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

Usage

See exampleApp for usage example.

Deploy

We recommend use HOSTNAME environment variable for Worker ID and deploy application to Stateful Sets.

Supported platforms

  • Java v21+ LTS

Official supported databases and clients

DB Client
Redis Standalone v7.4.2+ LettuceRedisClient1
Redis Standalone v7.4.2+ ReThisRedisClient2

We recommend use ReThisRedisClient in most cases

Custom clients

Implement KeyValueClient to provide support for your DB using your library.

Maintainers

License

This repository is released under version 2.0 of the Apache License.

Footnotes

  1. To use this client you must install Lettuce for Kotlin API v6.5.4.RELEASE+

  2. To use this client you must install re.this v0.2.9+

About

Embedded Workflows As Code engine for Kotlin powered by Coroutines and Redis-like DB

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages