Compare commits

..

2 Commits

Author SHA1 Message Date
Simon af87f1deb0 fix(backend): approval.py + byod.py 改用 settings.create_redis_client()
PR #3 (commit 9292f41) 引入的回归:get_redis() 用 `from app.main import redis_client`,
但 redis_client 是 lifespan 函数内的局部变量,永远不可跨模块导入。

冒烟测试:ImportError: cannot import name 'redis_client' from 'app.main'
          → 整个 approval 模块加载失败,所有审批路由 500

修复:改用 settings.create_redis_client() 自建连接(与 approval_webhook.py:_writeback_agent_todo 同款)。

byod.py 同样问题,预防性一并修复(避免 byod 模块首次被访问时再炸)。

实测:
- POST /approval/callback → HTTP 200 {errcode:0}
- GET /byod/eligible-positions → HTTP 200 (845B)
2026-08-09 22:26:02 +08:00
simon 9294cf12c1 Merge pull request '坐席端审批线降级跳转 + 回调最终一致回写 (Phase 0 T01+T02)' (#3) from feat/agent-approval-degrade-jump into main
Reviewed-on: #3
2026-08-09 08:28:36 +08:00
2 changed files with 12 additions and 6 deletions
+6 -3
View File
@@ -90,9 +90,12 @@ APPROVAL_SP_STATUS_TODO_STATUS: Dict[int, str] = {
# Redis客户端(依赖注入)
async def get_redis() -> aioredis.Redis:
"""获取Redis客户端依赖"""
from app.main import redis_client
return redis_client
"""获取Redis客户端依赖
使用 settings.create_redis_client() 自建连接,而非从 app.main 导入 redis_client
(后者是 lifespan 函数内的局部变量,不可跨模块导入)。
"""
return settings.create_redis_client()
# =============================================================================
+6 -3
View File
@@ -24,9 +24,12 @@ router = APIRouter()
# Redis客户端(依赖注入)
async def get_redis() -> aioredis.Redis:
"""获取Redis客户端依赖"""
from app.main import redis_client
return redis_client
"""获取Redis客户端依赖
使用 settings.create_redis_client() 自建连接,而非从 app.main 导入 redis_client
(后者是 lifespan 函数内的局部变量,不可跨模块导入)。
"""
return settings.create_redis_client()
# =============================================================================