feat: 优化批量余额查询和用户模型权限检查

- 添加批量余额查询并发限制,避免数据库连接池耗尽
- 支持余额加载 pending 状态和前端自动重试机制
- 添加用户可用模型 API,统一使用 AccessRestrictions
- 修复用户表单编辑时数组引用共享导致的数据覆盖问题
- 添加数据库连接池配置说明到 .env.example
This commit is contained in:
fawney19
2026-01-28 01:01:05 +08:00
parent 8e0695e9d9
commit 1e0255d0ed
12 changed files with 411 additions and 64 deletions

View File

@@ -62,3 +62,32 @@ ADMIN_PASSWORD=admin123456
# 从发起请求到收到第一个字节的最大等待时间
# 仅对流式请求生效,超时触发故障转移
# STREAM_FIRST_BYTE_TIMEOUT=30.0
# ==================== 数据库连接池配置 ====================
# 连接池大小直接影响并发能力,特别是流式请求场景
# 每个流式请求会占用一个连接直到响应完成
# PostgreSQL 最大连接数(默认 100需与 postgresql.conf 中 max_connections 匹配)
# PG_MAX_CONNECTIONS=100
# 预留给管理工具的连接数(默认 10
# PG_RESERVED_CONNECTIONS=10
# 连接池大小(默认自动计算:(PG_MAX - RESERVED) / WORKERS / 2
# 高并发场景建议手动设置较大值
# DB_POOL_SIZE=20
# 最大溢出连接数(默认等于 DB_POOL_SIZE
# 高峰期可临时创建的额外连接
# DB_MAX_OVERFLOW=20
# 连接获取超时(默认 60 秒)
# 超时后抛出 TimeoutError
# DB_POOL_TIMEOUT=60
# 连接池使用率警告阈值(默认 70%
# DB_POOL_WARN_THRESHOLD=70
# 批量余额查询并发限制(默认自动计算:连接池的 40%
# 控制 Provider 余额查询的并发数,避免耗尽连接池
# BATCH_BALANCE_CONCURRENCY=8