修复: 更新消息分发管理器以提高性能和稳定性

This commit is contained in:
Windpicker-owo
2025-11-07 21:16:58 +08:00
parent b8f1a5ba22
commit ff5d14042c

View File

@@ -32,14 +32,7 @@ class SchedulerDispatcher:
def __init__(self): def __init__(self):
# 追踪每个流的 schedule_id # 追踪每个流的 schedule_id
self.stream_schedules: dict[str, str] = {} # stream_id -> schedule_id self.stream_schedules: dict[str, str] = {} # stream_id -> schedule_id
<<<<<<< HEAD
=======
# 用于保护 schedule 创建/删除的锁,避免竞态条件
self.schedule_locks: dict[str, asyncio.Lock] = {} # stream_id -> Lock
>>>>>>> b0ee26652efd8d03c2e407575b8c5eea78f6afec
# Chatter 管理器 # Chatter 管理器
self.chatter_manager: ChatterManager | None = None self.chatter_manager: ChatterManager | None = None
@@ -88,15 +81,6 @@ class SchedulerDispatcher:
"""设置 Chatter 管理器""" """设置 Chatter 管理器"""
self.chatter_manager = chatter_manager self.chatter_manager = chatter_manager
logger.debug(f"设置 Chatter 管理器: {chatter_manager.__class__.__name__}") logger.debug(f"设置 Chatter 管理器: {chatter_manager.__class__.__name__}")
<<<<<<< HEAD
=======
def _get_schedule_lock(self, stream_id: str) -> asyncio.Lock:
"""获取流的 schedule 锁"""
if stream_id not in self.schedule_locks:
self.schedule_locks[stream_id] = asyncio.Lock()
return self.schedule_locks[stream_id]
>>>>>>> b0ee26652efd8d03c2e407575b8c5eea78f6afec
async def on_message_received(self, stream_id: str) -> None: async def on_message_received(self, stream_id: str) -> None:
"""消息接收时的处理逻辑 """消息接收时的处理逻辑