Simon
|
195f5d41f4
|
perf(backend): 内存优化三项——全市场研究不再占满 8G
1) 数据装配流式+列裁剪:Repository 新增 stream_range_many_columns(只 SELECT
所需列、SQL 侧转 REAL、yield_per 分批),引擎按 required_columns 取数
(LocalEngine 仅 close+因子字段),消除 ORM/Decimal 全量物化;
2) 研究 Job 独立子进程执行(job.mode=subprocess):python -m app.cli.run_job
在子进程内设 RLIMIT_AS 上限,OOM 归档 failed 而非拖垮 API worker;
子进程异常退出由父进程补记 failed;并发上限 2;
3) 服务启动清理:残留 queued/running Job 标记 failed(防永久 running)。
实测同款全市场回测:uvicorn worker RSS 稳定 ~220MB,任务峰值内存由 4.1GB+
降至 ~470MB,24s 完成并归档(此前 43s 未完成即 OOM)。
新增/更新测试 96 passed,ruff 干净。
|
2026-09-06 22:12:44 +08:00 |
|
Simon
|
01d818e12a
|
docs: 使用说明 docs/USAGE.md;LLM URL/模型名配置移到 config.yaml(.env 仅 Key)
- config.yaml 新增 agent.llm:base_url / model 明文配置(默认百炼兼容端点 qwen-plus),api_key 只从 .env 的 LLM_API_KEY 读取;LLM_BASE_URL / LLM_MODEL 仍可经 .env 覆盖
- .env.example 注释同步;core.config 读取逻辑 env > yaml > 默认
- docs/USAGE.md:安装/配置/数据同步/启动/研究 API 与 Job/Experiment/Agent/测试门禁/已知限制/FAQ
- README 增加使用说明入口
- 新增 config LLM 测试 2 项(yaml 默认 + env 覆盖)→ pytest 81 passed / ruff clean
|
2026-09-06 17:57:15 +08:00 |
|
Simon
|
8eb3b4ac2a
|
chore: 项目初始化 — 工程文档、配置与目录骨架
- AGENT.md / docs/ARCHITECTURE.md 约束与架构文档入库(README 覆盖远端模板)
- 根级配置:.gitignore / .env.example / config.yaml(密钥只走 .env,不入库)
- 目录占位:data(parquet/qlib/raw/normalized) / experiments / docker / frontend/web / scripts
|
2026-09-06 16:09:07 +08:00 |
|