Cloacina
One workflow orchestration engine — two ways to run it. Cloacina runs durable, database-backed task pipelines (with retries and recovery) and in-process, event-driven computation graphs, for Rust and Python. Its only hard dependency is a database — Postgres or SQLite. No broker, no queue, no coordinator.
Pick the way that matches how you want it to live in your system — both are first-class:
Add cloacina (Rust) or cloaca (Python) as a dependency and run orchestration
inside your application, against a database you already operate. No separate
service to stand up. A permanent, production-legitimate way to run Cloacina.
- What is Cloacina? — the engine, the two ways, and the embedded-first principle.
- Is Cloacina for you? — where it fits, where it doesn’t, and which door.
- Engine & Primitives — the core objects (workflows, computation graphs, and more), described once for both languages.
- Reference — APIs, CLI, HTTP/WebSocket, configuration.
- Workflows — durable, database-backed DAGs; the task is the unit of scheduling. For work that must survive restarts and recover from failure.
- Computation Graphs — in-process, event-driven DAGs; the whole traversal is the unit. For low-latency processing that reacts to a stream.
They compose, and both run through either door.