Skip to main content

Crate orbit_runtime

Crate orbit_runtime 

Source
Expand description

The ORBIT runtime: a durable, single-node workflow execution service.

  • model — history events and the state folded from them
  • decide — the pure, deterministic workflow decider
  • store — SQLite persistence (event history is authoritative)
  • engine — dispatch, worker registry, reconciliation and recovery
  • server — HTTP API and the HTTP/JSON worker protocol binding
  • cluster — active/standby operation of several servers on PostgreSQL
  • shared — several active servers sharing the work on PostgreSQL
  • testing — in-process simulation for orbit test and orbit simulate
  • ui — the built-in web UI served at /ui/
  • replay — re-run a recorded history through the current decider
  • schedule — cron and interval schedules that start executions

Re-exports§

pub use engine::Engine;
pub use engine::EngineConfig;
pub use engine::EngineError;
pub use store::Store;

Modules§

cluster
Multi-server operation: one active leader, any number of standbys, all on the same PostgreSQL database (orbit server --cluster).
decide
The deterministic workflow decider.
engine
The execution engine: owns persistence, in-memory projections of active executions, the worker registry and task dispatch.
grpc
gRPC binding of the worker protocol (orbit.worker.v1.WorkerService).
http_adapter
Built-in orbit.http.request task: lets a workflow call an HTTP endpoint without writing a worker. Disabled unless the server is started with --enable-http-adapter, because it lets workflow authors make outbound requests from the runtime host.
identity
Per-worker identities.
metrics
Prometheus-style counters derived from committed events.
model
Execution history events and the state derived from them.
replay
Deterministic replay: re-run a recorded history through the current decider and check that every decision the runtime recorded is reproduced.
schedule
Schedules: workflows started by a cron expression or a fixed interval.
server
HTTP API (RFC-0001 §11.2) and the HTTP/JSON binding of the worker protocol (§8). See protocol/README.md for the wire format.
shared
Shared mode: several active servers on one PostgreSQL database (orbit server --cluster --cluster-mode shared). Every node serves every route; executions, worker tasks and worker sessions are spread over them.
store
Persistence.
telemetry
OpenTelemetry tracing: OTLP/HTTP (JSON encoding) export of execution traces, accepted by the OpenTelemetry Collector, Jaeger, Grafana Tempo, Honeycomb and other OTLP backends.
testing
In-process workflow simulation, used by orbit test and orbit simulate.
ui
The built-in operations UI (/ui/).