feat: initialize governed postbox module
This commit is contained in:
31
src/govoplan_postbox/backend/runtime.py
Normal file
31
src/govoplan_postbox/backend/runtime.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from govoplan_core.core.registry import PlatformRegistry
|
||||
|
||||
|
||||
_registry: PlatformRegistry | None = None
|
||||
_service: object | None = None
|
||||
|
||||
|
||||
def configure_runtime(*, registry: object) -> None:
|
||||
global _registry, _service
|
||||
if not isinstance(registry, PlatformRegistry):
|
||||
raise RuntimeError("Postbox requires a platform registry")
|
||||
if registry is not _registry:
|
||||
_registry = registry
|
||||
_service = None
|
||||
|
||||
|
||||
def get_registry() -> PlatformRegistry:
|
||||
if _registry is None:
|
||||
raise RuntimeError("Postbox runtime has not been configured")
|
||||
return _registry
|
||||
|
||||
|
||||
def get_service():
|
||||
global _service
|
||||
if _service is None:
|
||||
from govoplan_postbox.backend.service import PostboxService
|
||||
|
||||
_service = PostboxService.from_registry(get_registry())
|
||||
return _service
|
||||
Reference in New Issue
Block a user