修复重复初始化问题 - 统一Redis连接管理

主要修复:
1. 创建统一Redis连接管理器 (src/core/redis_manager.py)
   - 单例模式管理所有Redis连接
   - 懒加载连接,避免重复初始化
   - 线程安全的连接管理

2. 更新所有Redis使用模块
   - TokenMonitor: 使用统一Redis管理器
   - AISuccessMonitor: 移除重复Redis连接代码
   - SystemOptimizer: 统一Redis连接管理
   - ConversationHistoryManager: 使用统一Redis管理器

3. 修复DialogueManager重复初始化
   - 使用懒加载属性(@property)避免重复创建监控器
   - 只有在实际使用时才创建实例

4. 优化启动性能
   - 避免重复的Redis连接创建
   - 消除重复的TSP助手初始化
   - 减少启动时的日志输出

技术改进:
- 单例模式Redis管理器
- 懒加载组件初始化
- 统一连接管理
- 线程安全设计

解决启动卡顿问题,提升系统响应速度
This commit is contained in:
赵杰 Jie Zhao (雄狮汽车科技)
2025-09-18 19:57:35 +01:00
parent 228e9b838f
commit 4b4bd683d9
11 changed files with 318 additions and 169 deletions

View File

@@ -23,11 +23,36 @@ class DialogueManager:
self.knowledge_manager = KnowledgeManager()
self.vehicle_manager = VehicleDataManager()
self.history_manager = ConversationHistoryManager()
self.token_monitor = TokenMonitor()
self.ai_success_monitor = AISuccessMonitor()
self.system_optimizer = SystemOptimizer()
# 延迟初始化监控器,避免重复创建
self._token_monitor = None
self._ai_success_monitor = None
self._system_optimizer = None
self.conversation_history = {} # 存储对话历史
@property
def token_monitor(self):
"""获取Token监控器懒加载"""
if self._token_monitor is None:
from ..analytics.token_monitor import TokenMonitor
self._token_monitor = TokenMonitor()
return self._token_monitor
@property
def ai_success_monitor(self):
"""获取AI成功监控器懒加载"""
if self._ai_success_monitor is None:
from ..analytics.ai_success_monitor import AISuccessMonitor
self._ai_success_monitor = AISuccessMonitor()
return self._ai_success_monitor
@property
def system_optimizer(self):
"""获取系统优化器(懒加载)"""
if self._system_optimizer is None:
from ..core.system_optimizer import SystemOptimizer
self._system_optimizer = SystemOptimizer()
return self._system_optimizer
def process_user_message(
self,
user_message: str,