Object.Supervisor (object v0.1.2)

Enhanced supervision tree for the AAOS Object system with comprehensive fault tolerance.

Implements advanced supervision strategies including circuit breaker integration, progressive restart policies, health monitoring integration, and intelligent failure isolation to ensure maximum system resilience.

Features

  • Layered Supervision: Multi-tier supervision with different restart strategies
  • Intelligent Restart Policies: Context-aware restart decisions
  • Circuit Breaker Integration: Automatic service isolation during failures
  • Health Monitoring: Continuous supervision health assessment
  • Progressive Backoff: Increasing restart delays for persistent failures
  • Failure Isolation: Prevent cascading failures across components
  • Resource Protection: Monitor and limit resource consumption

Supervision Hierarchy

Object.Supervisor (rest_for_one)
 Infrastructure Supervisor (one_for_one)
    Registry
    Error Handling
    Health Monitor
    Resource Monitor
 Core Services Supervisor (one_for_one)
    Schema Registry
    Dead Letter Queue
    Graceful Degradation
    Coordination Service
 Object Management Supervisor (rest_for_one)
    Dynamic Supervisor
    Performance Monitor
    Schema Evolution Manager
 Integration Services Supervisor (one_for_one)
     Message Router
     AI Reasoning (if available)

Restart Strategies

  • Infrastructure: Critical components that must be restarted immediately
  • Core Services: Essential services with progressive restart delays
  • Object Management: Components that may require dependent restarts
  • Integration: Optional services that can fail without affecting core functionality

Summary

Functions

Returns a specification to start this module under a supervisor.

Triggers emergency shutdown with graceful degradation.

Gets the current supervision tree health status.

Gracefully restarts a specific child process with backoff.

Starts the enhanced supervision tree with comprehensive error handling.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

emergency_shutdown(reason)

Triggers emergency shutdown with graceful degradation.

get_supervision_health()

Gets the current supervision tree health status.

restart_child_with_backoff(child_id)

Gracefully restarts a specific child process with backoff.

start_link(init_arg \\ [])

Starts the enhanced supervision tree with comprehensive error handling.

Options

  • :restart_strategy - Overall restart strategy (default: :rest_for_one)
  • :max_restarts - Maximum restarts in time period (default: 5)
  • :max_seconds - Time period for restart counting (default: 60)
  • :enable_circuit_breakers - Enable circuit breaker integration (default: true)
  • :enable_health_monitoring - Enable health monitoring (default: true)
  • :enable_progressive_backoff - Enable progressive restart delays (default: true)

trigger_health_check()