Skip to main content
Cloacina Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Engine & Primitives

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.