修复重复初始化问题 - 统一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:
@@ -16,13 +16,14 @@ from flask_cors import CORS
|
||||
# 添加项目根目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
from src.main import TSPAssistant
|
||||
from src.agent_assistant import TSPAgentAssistant
|
||||
from src.dialogue.realtime_chat import RealtimeChatManager
|
||||
from src.vehicle.vehicle_data_manager import VehicleDataManager
|
||||
# 延迟导入,避免启动时重复初始化
|
||||
# from src.main import TSPAssistant
|
||||
# from src.agent_assistant import TSPAgentAssistant
|
||||
# from src.dialogue.realtime_chat import RealtimeChatManager
|
||||
# from src.vehicle.vehicle_data_manager import VehicleDataManager
|
||||
from src.core.database import db_manager
|
||||
from src.core.models import Conversation, Alert, WorkOrder
|
||||
from src.core.query_optimizer import query_optimizer
|
||||
# from src.core.query_optimizer import query_optimizer
|
||||
|
||||
# 导入蓝图
|
||||
from src.web.blueprints.alerts import alerts_bp
|
||||
@@ -67,6 +68,7 @@ def get_assistant():
|
||||
"""获取TSP助手实例(懒加载)"""
|
||||
global assistant
|
||||
if assistant is None:
|
||||
from src.main import TSPAssistant
|
||||
assistant = TSPAssistant()
|
||||
return assistant
|
||||
|
||||
@@ -74,6 +76,7 @@ def get_agent_assistant():
|
||||
"""获取Agent助手实例(懒加载)"""
|
||||
global agent_assistant
|
||||
if agent_assistant is None:
|
||||
from src.agent_assistant import TSPAgentAssistant
|
||||
agent_assistant = TSPAgentAssistant()
|
||||
return agent_assistant
|
||||
|
||||
@@ -81,6 +84,7 @@ def get_chat_manager():
|
||||
"""获取聊天管理器实例(懒加载)"""
|
||||
global chat_manager
|
||||
if chat_manager is None:
|
||||
from src.dialogue.realtime_chat import RealtimeChatManager
|
||||
chat_manager = RealtimeChatManager()
|
||||
return chat_manager
|
||||
|
||||
@@ -88,6 +92,7 @@ def get_vehicle_manager():
|
||||
"""获取车辆数据管理器实例(懒加载)"""
|
||||
global vehicle_manager
|
||||
if vehicle_manager is None:
|
||||
from src.vehicle.vehicle_data_manager import VehicleDataManager
|
||||
vehicle_manager = VehicleDataManager()
|
||||
return vehicle_manager
|
||||
|
||||
|
||||
Reference in New Issue
Block a user