ForcePilot/backend/package/yuxi/external_systems/infrastructure/scheduler.py
Kris 2a401450cb refactor(scheduler): 整理代码格式与导入,新增调度器配置与handler注册框架
本次提交包含多类改进:
1.  清理冗余空行、修复导入格式与类型检查占位
2.  新增external_systems与scheduler上下文的handler注册框架
3.  补全调度器相关配置项与环境变量覆盖逻辑
4.  新增配置校验与敏感字段脱敏逻辑
5.  简化协议方法声明格式
2026-06-22 21:22:07 +08:00

46 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""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占位避免未使用告警