Skip to main content

Module workflow

Module workflow 

Source
Expand description

The workflow engine: declared schema/workflows that run.

A workflow with config.executor: engine is an event-started process manager. The schema generator compiles its steps into a WorkflowSpec (data, with its conditions and templates as expr trees) beside a WorkflowDefinition that performs what only typed code can; the [WorkflowEngine] runs the spec over Postgres: a persisted instance and step log, durable waits, timers, retries, compensation, and a deadline.

  • expr: the closed expression set, and the evaluator.
  • spec: the compiled workflow and the definition trait.
  • schema: the tables, as SQL.
  • engine (feature postgres): the engine itself.

This module supersedes crate::flow, the in-memory instance and executor shell nothing used.

Re-exports§

pub use expr::Dur;
pub use expr::Expr;
pub use expr::Funcs;
pub use expr::NoFuncs;
pub use expr::Scope;
pub use expr::Template;
pub use expr::Tpl;
pub use spec::Call;
pub use spec::StepKind;
pub use spec::StepSpec;
pub use spec::WorkflowDefinition;
pub use spec::WorkflowSpec;

Modules§

expr
The closed expression set a workflow runs.
schema
The tables a workflow engine keeps, as SQL.
spec
What the schema generator writes for a workflow: its steps as data, and the one trait that performs what only typed code can.