feat(scheduler): 添加统一调度器集成支持
- 在系统启动和关闭流程中集成统一调度器 - 为事件管理器添加调度器回调注册机制 - 调整兴趣评分系统阈值配置 - 增强系统模块化架构,支持调度器事件通知
This commit is contained in:
@@ -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 = [
|
||||
|
||||
Reference in New Issue
Block a user