/kairoi

Kairoi is a Dynamic, Accurate and Scalable Time-based Job Scheduler.

Primary LanguageRustMIT LicenseMIT

Kairoi

Kairoi is a Dynamic, Accurate and Scalable Time-based Job Scheduler written in Rust.

Quick Words

Kairoi is a Time-based Job Scheduler. It works as a server allowing its clients to schedule jobs to be executed in the future, using a simple text protocol (read more about the protocol in the Kairoi Client Protocol documentation).

Once the job execution time is past, Kairoi automatically triggers a job execution on a matching configured runner (read more about runners in the Kairoi Runners documentation). In its default configuration, Kairoi guarantees ACID properties on its transactions. Kairoi also uses a at-least once delivery model: each job is guaranteed to be processed at-least once at some point after its execution date, but can also be processed more than one time. Thus, domain code handling jobs should be idempotent.

Kairoi currently targets running on Linux operating systems.

Documentation

Development

Developping on Kairoi requires you to have Rust installed on your machine.

Installation

You can build the development version of Kairoi by cloning this repository, then using :

$> cargo build

at the root of this repository. It will automatically download and install all required dependencies.