"""external_systems 模块的定时任务 handler 注册入口。 本模块是 external_systems 限界上下文接入 scheduler 限界上下文的唯一登记点, 对齐 scheduler 上下文设计方案 §14.3 的"业务域 container 主动注册"模式。 与 ``infrastructure/container.py`` 同级,遵循 external_systems 的分层约定: 装配逻辑集中在 ``infrastructure/``,包根不出现装配代码。 对外暴露: - ``register_scheduler_handlers(registry)``:业务模块注册函数,由 worker 启动钩子(``services/run_worker.py`` 的 ``_worker_startup``)统一调用。 内部实例化本模块的 handler 并调用 ``registry.register(handler)``。 边界规范: - 本模块是 external_systems 接入 scheduler 的**唯一装配点** - handler 的依赖(如 ``session_factory``)在函数内部构造,不暴露给装配层 - 新增 handler 时,在本函数内追加 ``registry.register(...)`` 即可,无需改 ``run_worker.py``(前提:本模块已登记在 ``_BUSINESS_HANDLER_REGISTRARS``) """ from __future__ import annotations from yuxi.scheduler.framework.runtime import HandlerRegistry from yuxi.storage.postgres.manager import pg_manager __all__ = ["register_scheduler_handlers"] def register_scheduler_handlers(registry: HandlerRegistry) -> None: """向 scheduler 注册 external_systems 模块的定时任务 handler。 由 worker 启动钩子在装配阶段统一调用。新增 handler 时在此函数内追加 ``registry.register(...)`` 即可。 Args: registry: worker 进程级 handler 注册表。 """ session_factory = pg_manager.get_async_session_context # 在此追加 external_systems 的定时任务 handler 注册 # registry.register( # XxxHandler(session_factory=session_factory), # ) _ = session_factory # 暂无 handler,占位避免未使用告警