#workflow #execution-engine #failure #applications #system #state #durable

bin+lib flawless

Toolkit for writing durable execution workflows in Rust

15 releases

1.0.0-alpha… Feb 26, 2024
1.0.0-alpha… Feb 23, 2024
1.0.0-alpha… Dec 14, 2023
1.0.0-alpha… Nov 30, 2023
0.1.0 Nov 20, 2023

#4 in #durable

Download history 445/week @ 2024-02-18 316/week @ 2024-02-25 17/week @ 2024-03-03 7/week @ 2024-03-10 100/week @ 2024-03-31

100 downloads per month
Used in 2 crates (via flawless-http)

BSD-2-Clause-Patent

42KB
788 lines

Flawless is a durable execution engine for Rust.

It allows you to express parts of your backend, that you deem more important, as workflows written in Rust. Flawless will take the workflows and run them until completion, even in the presence of failure. It will give you insight into which workflows successfully finished and which ones failed. If there is an interruption in the execution, for example the computer abruptly restarts, Flawless will finish the workflow once the system is up again.

The goal of Flawless is to keep your application in a consistent state and if this is not possible, give you enough insight into the issue to manually fix it.

Flawless is a single binary that you run as a server and send your workflows to. If you would like to try Flawless, check out the installation instructions and docs.


lib.rs:

Flawless is an execution engine for durable computation. It will run your code until completion even in the presence of hardware or software failure.

For more information check out the website: https://flawless.dev.

Dependencies

~5–14MB
~193K SLoC