Module resilience

Module resilience 

Source
Expand description

Resilience Patterns

This module provides production-grade resilience patterns for RustKernels:

  • Circuit Breaker: Prevent cascade failures by detecting unhealthy kernels
  • Timeout: Deadline propagation and timeout enforcement
  • Recovery: Automatic recovery from transient failures
  • Health: Health checking for liveness/readiness probes

§Example

use rustkernel_core::resilience::{CircuitBreaker, CircuitBreakerConfig};

let config = CircuitBreakerConfig::default()
    .failure_threshold(5)
    .reset_timeout(Duration::from_secs(30));

let cb = CircuitBreaker::new("graph/pagerank", config);

// Execute with circuit breaker protection
cb.execute(|| async {
    kernel.execute(input).await
}).await?;

Re-exports§

pub use circuit_breaker::CircuitBreaker;
pub use circuit_breaker::CircuitBreakerConfig;
pub use circuit_breaker::CircuitState;
pub use health::HealthCheck;
pub use health::HealthCheckResult;
pub use health::HealthProbe;
pub use recovery::RecoveryPolicy;
pub use recovery::RecoveryStrategy;
pub use recovery::RetryConfig;
pub use timeout::DeadlineContext;
pub use timeout::TimeoutConfig;
pub use timeout::TimeoutError;

Modules§

circuit_breaker
Circuit Breaker Pattern
health
Health Checking
recovery
Recovery Policies
timeout
Timeout and Deadline Management

Structs§

ResilienceConfig
Unified resilience configuration

Enums§

ResilienceError
Errors from resilience patterns

Type Aliases§

ResilienceResult
Result type for resilience operations