Engine & Primitives
The concepts here are the heart of Cloacina, independent of how you run it. They apply whether you embed the library or run the service — each object is described once, with both its Rust and Python interfaces.
Who this is for: anyone learning the engine primitives — workflows, computation graphs, scheduling, and packaging — regardless of language. This material is language-agnostic.
Prerequisites: basic familiarity with the concepts from Start Here.
The core primitives:
- Workflow — a durable, database-backed DAG; the task is the unit of scheduling.
- Task — a unit of work in a workflow.
- Context — typed data passed between tasks, persisted and recovered.
- Computation Graph — an in-process, event-driven dataflow; the whole traversal is the unit.
- Node — a vertex in a computation graph.
- Reactor — binds accumulators to a graph and fires it when criteria are met.
- Accumulator — turns a source or stream into boundary events (passthrough, stream, polling, batch, state).
- Boundary event — the typed event an accumulator emits and a reactor reacts to.
- Trigger — fires a workflow (poll or cron).
- Cron schedule — time-based workflow scheduling.
- Package (
.cloacina) — the distributable unit. - Runner — the host that executes workflows against a database.
- Workflows
-
Computation Graphs
- Computation Graph
- Node
- Reactor
- Accumulator
- Boundary event
-
How-to Guides
- Package a Python Computation Graph
- Choosing and Using Accumulator Types
- Filter Reactor Subscriptions (Python)
- Monitoring Computation Graph Health
- Manually Driving Graph Surfaces
- Computation Graph in a Workflow Task
- Triggering Workflows from Reactor Firings
- Using when_all Reaction Criteria
- Filter reactor firings with CEL
- Using Sequential Input Strategy
- Scheduling & Triggers
- Packaging
- Constructors & Providers
-
Explanation
- Architecture Overview
- Workflow Versioning
- Context System
- Trigger Rules
- Macro System
- Computation Graph Architecture
- Python CG Decorator Surface
- Accumulator Design
- Inventory and Runtime Seeding
- Package Format
- FFI System
- Packaged Workflow Architecture
- Guaranteed Cron Scheduling
- Reactor Lifecycle
- Trigger-less Computation Graphs
- Packaging & FFI
- Task Execution
- Task Deferral
- Dispatcher Architecture
- Graph Scheduling
- Performance Characteristics
- Subscription fan-out
- Cron Scheduling Architecture