aion-rs 0.9.2

Transport-agnostic Aion workflow engine with durability, replay, timers, and supervision.
Documentation

aion

Transport-agnostic Aion workflow engine with durability, replay, timers, and supervision. The crate embeds the BEAM runtime, loads .aion workflow packages, wires event stores and activity dispatchers, and exposes engine APIs that servers and tests can use without depending on a particular transport.

Install

[dependencies]
aion = "0.4.0"

Key public types

  • EngineBuilder and Engine construct and operate the workflow engine.
  • RuntimeConfig, RuntimeHandle, and Pid configure and identify runtime processes.
  • load_package, LoadedWorkflow, and LoadedWorkflows register package contents.
  • Registry, WorkflowHandle, and supervision types track workflow residency and lifecycle.
  • ActivityDispatcher, EventPublisher, SignalRouter, and QueryService are engine seams.

Minimal usage

use aion::{EngineBuilder, RuntimeConfig};
use aion_store::InMemoryStore;

let engine = EngineBuilder::new()
    .with_store(InMemoryStore::default())
    .with_runtime_config(RuntimeConfig::default())
    .build()
    .await?;
# Ok::<(), Box<dyn std::error::Error>>(())