Hermes
Simulation Orchestration Platform for Aerospace
Loading...
Searching...
No Matches
hermes.core.process Namespace Reference

Classes

class  InprocModuleProtocol
class  ModuleState
class  ModuleInfo
class  ModuleProcess
class  InprocModule
class  ProcessManager

Functions

InprocModule _create_inproc_module (str name, ModuleConfig config, SharedMemoryManager shm)

Variables

 log = structlog.get_logger()

Detailed Description

Process lifecycle management for Hermes modules.

This module provides the ProcessManager and ModuleProcess classes for
spawning, controlling, and terminating module subprocesses. Also supports
in-process (inproc) modules that run as Python objects within the main process.

Module Lifecycle:
    load()        stage()       step()...      terminate()
      │             │              │               │
      ▼             ▼              ▼               ▼
┌─────────┐   ┌─────────┐   ┌─────────┐     ┌─────────┐
│  INIT   │──▶│ STAGED  │──▶│ RUNNING │────▶│  DONE   │
└─────────┘   └─────────┘   └─────────┘     └─────────┘
      │                           │
      └───────── reset() ─────────┘

Function Documentation

◆ _create_inproc_module()

InprocModule hermes.core.process._create_inproc_module ( str name,
ModuleConfig config,
SharedMemoryManager shm )
protected
Create an in-process module from configuration.

Args:
    name: Module name
    config: Module configuration (script field is dotted import path)
    shm: Shared memory manager

Returns:
    InprocModule wrapping the instantiated Python object

Variable Documentation

◆ log

hermes.core.process.log = structlog.get_logger()