修复: 更新消息分发管理器以提高性能和稳定性
This commit is contained in:
@@ -33,9 +33,6 @@ class SchedulerDispatcher:
|
|||||||
# 追踪每个流的 schedule_id
|
# 追踪每个流的 schedule_id
|
||||||
self.stream_schedules: dict[str, str] = {} # stream_id -> schedule_id
|
self.stream_schedules: dict[str, str] = {} # stream_id -> schedule_id
|
||||||
|
|
||||||
# 用于保护 schedule 创建/删除的锁,避免竞态条件
|
|
||||||
self.schedule_locks: dict[str, asyncio.Lock] = {} # stream_id -> Lock
|
|
||||||
|
|
||||||
# Chatter 管理器
|
# Chatter 管理器
|
||||||
self.chatter_manager: ChatterManager | None = None
|
self.chatter_manager: ChatterManager | None = None
|
||||||
|
|
||||||
@@ -85,12 +82,6 @@ class SchedulerDispatcher:
|
|||||||
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__}")
|
||||||
|
|
||||||
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]
|
|
||||||
|
|
||||||
async def on_message_received(self, stream_id: str) -> None:
|
async def on_message_received(self, stream_id: str) -> None:
|
||||||
"""消息接收时的处理逻辑
|
"""消息接收时的处理逻辑
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user