boson_runtime/lib.rs
1//! Worker runtime, builder, and enqueue orchestration.
2//!
3//! Wire the worker process here: inject a [`QueueBackend`](boson_core::QueueBackend), identity
4//! factory, and optional telemetry. [`BosonBuilder::build`] enqueues **and** starts a background
5//! loop that claims and runs jobs; use [`ManualWorker`] for step-driven tests.
6//!
7//! ## Entry points
8//!
9//! - [`Boson::builder`] — inject `QueueBackend`, `ExecutionContextFactory`, `OpsLog`
10//! - [`BosonBuilder::build`] — spawn background worker loop (default)
11//! - [`BosonBuilder::build_manual`] / [`ManualWorker`] — drive job execution step-by-step
12//! - [`Boson::enqueue`] — enqueue work for background execution
13//! - [`configure`] / [`default`] — process-wide default for macro `send_with` (once at boot)
14
15mod boson;
16mod bootstrap;
17mod builder;
18mod global;
19mod registry;
20mod telemetry;
21mod worker;
22
23pub use boson::Boson;
24pub use builder::BosonBuilder;
25pub use global::{configure, default};
26pub use registry::{InvokeFn, TaskDefaults, TaskDescriptor, TaskRegistry};
27pub use worker::{spawn_worker, ManualWorker, WorkerSettings};