 UbuntuandClaude
|
bb9f55e93c
|
feat(gateway): 全局串行化(并发=1) + 记录入参/出参/耗时日志
并发模型从「每worker并发1 + 多worker并行」改为全局串行:同一时间
只处理1个请求,其余排队;多 worker 仅作热备(主 worker 坏了才用备机)。
接口4(face/features) 走豆包、不占 GPU,不纳入串行。
- pool: asyncio.Semaphore(max_global_concurrency=1) + acquire/release_global_slot
(依赖单进程 uvicorn 部署,已在注释中标注)
- forward: proxy_request 最外层 acquire 全局槽、try/finally 全路径释放;
入参 multipart 解析挂 request.state;原重试/故障转移逻辑抽到 _dispatch_with_retries
- reqlog(新): 标量入参保留;图片(file/base64)存盘转URL,绝不内嵌base64;
出参递归摘要截断(landmarks/长串/大数组)
- logging_middleware: RequestLogEntry 加 request_params/response_data,
jsonl 全量记录;_load_from_logfile 同步映射防重启丢字段;get_stats recent 暴露
- /gateway-health 暴露 global_max/global_busy/global_waiting
- config: dispatch 新增 max_global_concurrency / max_queue_wait_seconds
- tests: test_reqlog + test_gateway_serialization(9 用例)
顺带提交此前未提交的网关统计(daily stats 接口)与耗时看板(api_timing_dashboard.html)。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-23 22:56:48 +08:00 |
|
Ubuntu
|
aa981229c0
|
添加统计请求的功能
|
2026-07-02 23:28:49 +08:00 |
|
 xslandClaude Opus 4.8
|
4c7681b338
|
perf(图片): 接口2/3/5 返回 JPG(体积~9×↓),接口1 标注图仍 PNG(透明)
- app.py: 接口2(预览+生发)/3(生发)/5(发际线叠图) 编码改 JPG(质量90,env JPG_QUALITY);
接口1 annotated_image 含透明仍 PNG。_png_to_jpg_b64 把 ComfyUI 的 PNG 重编码为 JPG(无法解码则透传)
- gateway/forward.py: 落盘按内容嗅探扩展名(PNG头→.png 否则.jpg),原先硬编码 .png
- 测试/文档同步;实测接口5 一张 59KB(JPG) vs 548KB(PNG)。pytest 44 全绿
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 23:35:24 +08:00 |
|
Ubuntu
|
eaafbc97ea
|
save code
|
2026-06-14 18:23:08 +08:00 |
|
Ubuntu
|
3b706ec0ef
|
网关开发完成
|
2026-06-14 15:04:34 +08:00 |
|