Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/Binary/Initialize/RuntimeBuild/
BuildWithConfig.rs

1//! Construct an Echo scheduler from a custom `SchedulerConfig::Struct`.
2//! Returns an `Arc<Scheduler>` ready for use; emits lifecycle dev-log
3//! lines with feature-gated detail (Telemetry, Debug).
4
5use std::sync::Arc;
6
7use Echo::Scheduler::Scheduler::Scheduler;
8
9use crate::{
10	Binary::Initialize::RuntimeBuild::{CreateBuilder, SchedulerConfig},
11	dev_log,
12};
13
14pub fn Fn(Config:SchedulerConfig::Struct) -> Arc<Scheduler> {
15	dev_log!("lifecycle", "[RuntimeBuild] Initializing scheduler with config: {:?}", Config);
16
17	let Builder = CreateBuilder::Fn(Config);
18
19	let SchedulerInstance = Builder.Build();
20
21	#[cfg(feature = "Telemetry")]
22	dev_log!("lifecycle", "[RuntimeBuild] Task metrics enabled");
23
24	#[cfg(feature = "Debug")]
25	dev_log!("lifecycle", "[RuntimeBuild] Scheduler debugging enabled");
26
27	dev_log!("lifecycle", "[RuntimeBuild] Scheduler initialized successfully");
28
29	Arc::new(SchedulerInstance)
30}