From 3e6b6458bb7ad6a251ea9773b3302c0ed0d6f717 Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Fri, 7 Nov 2025 21:15:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor(scheduler):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=20schedule=20=E9=94=81?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/message_manager/scheduler_dispatcher.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/chat/message_manager/scheduler_dispatcher.py b/src/chat/message_manager/scheduler_dispatcher.py index a13008e26..232620934 100644 --- a/src/chat/message_manager/scheduler_dispatcher.py +++ b/src/chat/message_manager/scheduler_dispatcher.py @@ -32,10 +32,7 @@ class SchedulerDispatcher: def __init__(self): # 追踪每个流的 schedule_id self.stream_schedules: dict[str, str] = {} # stream_id -> schedule_id - - # 用于保护 schedule 创建/删除的锁,避免竞态条件 - self.schedule_locks: dict[str, asyncio.Lock] = {} # stream_id -> Lock - + # Chatter 管理器 self.chatter_manager: ChatterManager | None = None @@ -84,12 +81,6 @@ class SchedulerDispatcher: """设置 Chatter 管理器""" self.chatter_manager = chatter_manager 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: """消息接收时的处理逻辑 @@ -121,7 +112,7 @@ class SchedulerDispatcher: should_interrupt = await self._check_interruption(stream_id, context) if should_interrupt: - # 移除旧 schedule 并创建新的(内部有锁保护) + # 移除旧 schedule 并创建新的 await self._cancel_and_recreate_schedule(stream_id, context) logger.debug(f"⚡ 打断成功: 流={stream_id[:8]}..., 已重新创建 schedule") else: