orbok_workers/scheduler.rs
1//! Resource-aware indexing scheduler (RFC-036).
2//!
3//! Public surface:
4//!
5//! ```text
6//! Scheduler — dispatch engine
7//! SchedulerConfig — limits + queue capacities
8//! SchedulerLimits — per-queue worker counts
9//! QueueCapacity — per-queue depth caps
10//! WorkPriority — job priority levels
11//! JobKind — job type labels
12//! JobState — in-memory job state
13//! IndexJob — a single scheduler job
14//! ResourceMode — Normal / UserActive / LowImpact / Paused
15//! SchedulerEvent — UI event channel
16//! QueueKind — which queue for backpressure events
17//! ```
18
19pub mod dispatch;
20pub mod job;
21pub mod limits;
22pub mod queue;
23
24pub use dispatch::Scheduler;
25pub use job::{IndexJob, JobKind, JobState, QueueKind, ResourceMode, SchedulerEvent, WorkPriority};
26pub use limits::{MAX_JOB_ATTEMPTS, QueueCapacity, SchedulerConfig, SchedulerLimits};
27pub use queue::{BoundedQueue, QueueSet};