fix(performance): MySQL 1038 整行排序爆内存修复收官 + 截图清理闭环(7 处两段式 / 真实混合场景 E2E 确认目标机曲线)
待办① 截图清理坏测试修复:
- config.py 新增 SCREENSHOT_RETENTION_DAYS(默认 3 天)定期清理配置
- main.py lifespan 启动/停止截图定期清理循环(cleanup_screenshots_loop)
- cleanup_service.py 新增定期清理循环实现
- 新增 test_screenshot_cleanup.py(10 个用例),修复原坏测试
- 5.60 已部署:截图 1.2G → 1.1M(1090 文件 / 1132MB)
待办② 真实混合场景 E2E 确认目标机监控曲线:
- 混合场景执行 perf_1c72c087(1804 快照,1797 带 targetResource)
- 报告页目标机资源 CPU/Memory/Load 曲线 + 指标卡渲染正常
- Java 进程瓶颈定位:ubains-meeting-api(CPU avg 377.4%/max 800%)
+ ubains-meeting-inner-api(424.2%/max 800%)
待办③ 克隆任务清理:无遗留,无操作
MySQL 1038 修复第三轮(报告查看 500,累计 7 处两段式):
- get_report() 模式2:最新执行记录先取 id 再回查整行
- get_report() 模式3 / _build_report_from_execution():快照先取 id 按序回查
- get_task_snapshots():快照分页两段式(保留 offset/limit)
- run_project_all() / get_project_task_ids():任务 id 两段式
- 5.60 部署验证:GET /tasks/{id}/report 原 500 → 200
问题处理/计划执行文档 4 篇归档(任务列表 500 + 报告查看 500)
Co-Authored-By:
Claude <noreply@anthropic.com>
正在显示