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 public 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 lease_guard;
25mod reclaim;
26mod remote_client;
27mod retry;
28mod runtime;
29mod worker;
30
31pub use builder::{builder, ChrononBuilder, DeploymentShape};
32pub use coordinator_service::CoordinatorService;
33pub use remote_client::{resolve_remote_base_url, JobSummary, RemoteCoordinatorClient};
34pub use retry::finalize_failed_run;
35pub use runtime::Chronon;