feat(scheduler): 添加统一调度器集成支持

- 在系统启动和关闭流程中集成统一调度器
- 为事件管理器添加调度器回调注册机制
- 调整兴趣评分系统阈值配置
- 增强系统模块化架构,支持调度器事件通知
This commit is contained in:
Windpicker-owo
2025-10-28 12:41:29 +08:00
parent 79a0088065
commit 033e1fecb4
6 changed files with 1133 additions and 3 deletions

View File

@@ -40,6 +40,7 @@ class EventManager:
self._events: dict[str, BaseEvent] = {}
self._event_handlers: dict[str, type[BaseEventHandler]] = {}
self._pending_subscriptions: dict[str, list[str]] = {} # 缓存失败的订阅
self._scheduler_callback: Optional[Any] = None # scheduler 回调函数
self._initialized = True
logger.info("EventManager 单例初始化完成")
@@ -317,8 +318,29 @@ class EventManager:
logger.warning(f"插件 {permission_group} 没有权限触发事件 {event_name},已拒绝触发!")
return None
# 通知 scheduler如果已注册
if hasattr(self, "_scheduler_callback") and self._scheduler_callback:
try:
await self._scheduler_callback(event_name, params)
except Exception as e:
logger.error(f"调用 scheduler 回调时出错: {e}", exc_info=True)
return await event.activate(params)
def register_scheduler_callback(self, callback) -> None:
"""注册 scheduler 回调函数
Args:
callback: async callable接收 (event_name, params) 参数
"""
self._scheduler_callback = callback
logger.info("Scheduler 回调已注册")
def unregister_scheduler_callback(self) -> None:
"""取消注册 scheduler 回调"""
self._scheduler_callback = None
logger.info("Scheduler 回调已取消注册")
def init_default_events(self) -> None:
"""初始化默认事件"""
default_events = [