chronon_runtime/lib.rs
1//! Chronon runtime assembly and deployment loops.
2//!
3//! Wires store, scheduler, executor, and background loops via [`ChrononBuilder`]. Hosts select
4//! a [`DeploymentShape`] (embedded, coordinator-only, worker, or remote client) at build time.
5//!
6//! Start with the facade crate docs (`chronon`) for a guided topology walkthrough. This crate
7//! holds the assembly APIs: [`ChrononBuilder`], [`Chronon::run`], [`CoordinatorService`], and
8//! [`RemoteCoordinatorClient`].
9//!
10//! # Configuration
11//!
12//! [`ChrononBuilder::tick_interval_ms`] overrides `CHRONON_TICK_INTERVAL_MS`. Partition count
13//! is read from `CHRONON_NUM_PARTITIONS` only (not configurable on the builder). See the
14//! `chronon-scheduler` crate for the full environment variable reference.
15//!
16//! See also: [`builder`] (alias for [`ChrononBuilder::new`]).
17
18mod builder;
19mod coordinator;
20mod coordinator_service;
21mod embedded;
22mod env;
23mod events;
24mod remote_client;
25mod retry;
26mod runtime;
27mod worker;
28
29pub use builder::{builder, ChrononBuilder, DeploymentShape};
30pub use coordinator_service::CoordinatorService;
31pub use remote_client::{resolve_remote_base_url, JobSummary, RemoteCoordinatorClient};
32pub use runtime::Chronon;