pyfebiopt.monitoring.monitoring_service ======================================= .. py:module:: pyfebiopt.monitoring.monitoring_service .. autoapi-nested-parse:: Controller that wires together registry, event listener, and system stats. Classes ------- .. autoapisummary:: pyfebiopt.monitoring.monitoring_service.MonitoringService Module Contents --------------- .. py:class:: MonitoringService(*, registry_path: pathlib.Path | None = None, event_socket: pathlib.Path | None = None, storage_roots: collections.abc.Iterable[pathlib.Path] | None = None, poll_interval: float = 5.0, stats_collector: pyfebiopt.monitoring.system_stats.SystemStatsCollector | None = None, stale_after: float = 180.0, stale_interval: float = 30.0) Own the monitor registry, event socket listener, and system stats. Initialize registry, listener config, and stats collector. :param registry_path: Optional path for the run registry JSON. :param event_socket: Optional UNIX socket path for event ingestion. :param storage_roots: Optional storage roots to inventory for jobs. :param poll_interval: Seconds between inventory refreshes. :param stats_collector: Custom collector; defaults to ``SystemStatsCollector``. :param stale_after: Seconds before an active run with no process is marked unknown. :param stale_interval: Seconds between stale-run sweeps. .. py:attribute:: registry .. py:attribute:: event_socket .. py:attribute:: inventory .. py:attribute:: stats .. py:method:: start() -> None Start the event listener if configured and not already running. .. py:method:: stop() -> None Stop the event listener if it is running. .. py:property:: running :type: bool Return True when the event listener is active.