cronoq_server/lib.rs
1//! # cronoq-server
2//!
3//! Runs a cronoq scheduler as a service: clients submit tasks over gRPC (`cronoq.v1.Tasks`) or
4//! HTTP/JSON, remote workers lease them over a bidirectional stream (`cronoq.v1.Workers`), and
5//! operators inspect it via `cronoq.v1.Admin`, `/v1/snapshot` and Prometheus `/metrics`.
6//! With the Postgres store, several replicas run active-passive: one leader serves, the
7//! others report `/readyz` = 503 and take over on failure.
8//!
9//! The server is designed for a single tenant (one team or trust domain). Tokens can be
10//! restricted to pools, which scopes submission, lookups, watches and worker registration,
11//! but task keys and resources share one namespace.
12
13#![warn(missing_docs)]
14
15pub mod auth;
16pub mod config;
17pub mod convert;
18pub mod grpc;
19mod grpc_web;
20pub mod http;
21pub mod info;
22pub mod metrics;
23mod peer;
24mod pg;
25pub mod remote;
26mod route;
27pub mod scaler;
28pub mod server;
29pub mod shard;
30mod standby;
31pub mod state;
32mod store;
33pub mod worker;
34
35pub use config::Config;
36pub use server::{Bound, Listeners, run, run_with_listeners};