Module runtime

Module runtime 

Source
Expand description

Runtime Lifecycle Management

This module provides runtime lifecycle management for RustKernels, including:

  • Runtime configuration and initialization
  • Graceful shutdown with drain periods
  • Hot configuration reload
  • Runtime state machine management

§Architecture

The runtime is built on ringkernel 0.3.1’s RingKernelRuntime with additional enterprise features for production deployments:

  • Lifecycle States: CreatedStartingRunningDrainingStopped
  • Configuration: Environment variables, files, and programmatic configuration
  • Graceful Shutdown: Configurable drain period to complete in-flight requests

§Example

use rustkernel_core::runtime::{KernelRuntime, RuntimeConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create runtime with production configuration
    let runtime = KernelRuntime::builder()
        .production()
        .with_drain_timeout(Duration::from_secs(30))
        .build()
        .await?;

    // Start the runtime
    runtime.start().await?;

    // ... use runtime ...

    // Graceful shutdown
    runtime.shutdown().await?;
    Ok(())
}

Re-exports§

pub use config::BackendConfig;
pub use config::RuntimeConfig;
pub use config::RuntimeConfigBuilder;
pub use lifecycle::KernelRuntime;
pub use lifecycle::LifecycleState;
pub use lifecycle::RuntimeBuilder;
pub use lifecycle::RuntimeHandle;

Modules§

config
Runtime Configuration
lifecycle
Runtime Lifecycle Management

Structs§

RuntimeStats
Runtime statistics

Enums§

RuntimeEvent
Runtime event types for lifecycle hooks
RuntimePreset
Runtime presets for common deployment scenarios

Constants§

DEFAULT_DRAIN_TIMEOUT
Default drain timeout for graceful shutdown
DEFAULT_HEALTH_CHECK_INTERVAL
Default health check interval

Functions§

shutdown_channel
Create a shutdown signal channel

Type Aliases§

RuntimeEventCallback
Callback for runtime events
ShutdownSignal
Shutdown signal receiver