From 9a44516bf8870f1fffd9ec02c07a0303c7351292 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 20 Apr 2026 20:21:15 +0800 Subject: [PATCH] fix(aider-processor): init_worker_redis_pool before XREADGROUP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Worker pool 在 main.py lifespan 未初始化(signal_worker 同問題)。 在 AiderEventProcessor.start() 冪等呼叫 init_worker_redis_pool(), 確保 _consume_loop() 的 get_worker_redis() 不拋 RuntimeError。 2026-04-20 @ Asia/Taipei --- apps/api/src/workers/aider_event_processor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/api/src/workers/aider_event_processor.py b/apps/api/src/workers/aider_event_processor.py index dd828f3d..d7a8ad67 100644 --- a/apps/api/src/workers/aider_event_processor.py +++ b/apps/api/src/workers/aider_event_processor.py @@ -20,7 +20,7 @@ from typing import Any import structlog -from src.core.redis_client import get_redis, get_worker_redis +from src.core.redis_client import get_redis, get_worker_redis, init_worker_redis_pool from src.db.base import get_session_factory from src.models.aider import AiderEventIn from src.repositories.aider_event_repository import AiderEventRepository @@ -76,6 +76,7 @@ class AiderEventProcessor: if self._running: logger.warning("aider_processor_already_running") return + await init_worker_redis_pool() # 確保 worker 專屬長連線池就緒(冪等) await self._ensure_consumer_group() self._running = True self._task = asyncio.create_task(self._consume_loop())