Files
sanguo_vnpy_v2/docs/vps-deploy-pending.md
T
claude_dev 67d1c1ef2f
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 24s
CI/CD / nas-verify (push) Failing after 4s
ci(vps-gate): commit必打[vps]/[nas]标签+vps-deployed tag+待推issue [nas]
- ci-cd: enforce-label(本次push无标签→fail,merge豁免) + check-vps-needed(nas-verify绿后对比vps-deployed tag,有[vps]未部署→开issue)
- vps-deploy: 成功打vps-deployed tag + 关issue(gap清空)
- scripts/ci/vps_pending_check.py: issue开/关/更新(CI复用)
- docs: vps-impact-map触及面表 + vps-deploy-pending判定记录
- CLAUDE.md: 部署流程段补标签约定
2026-08-02 23:25:40 +08:00

4.2 KiB
Raw Blame History

VPS 推送判定待办(分布式判定 + 中心汇总)

机制:各业务 session 认领自己模块的 commit,判定 [vps]/[nas]/存疑 + 理由,回传给基建。基建汇总后统一推一次 VPS(清技术债 + 建立 vps-deployed tag 基线);判定与基建初判不一致的 case by case 讨论。

判定标准(详见 docs/vps-impact-map.md):维度是「VPS 运行时是否触发这个 bug」,不是「文件改了没」。

  • VPS 触及(→[vps]):sanguo_data / sanguo_backtest / sanguo_portfolio.runner_backtest / provider / sanguo_common / scripts/data_platform
  • VPS 不触及(→[nas]):sanguo_orchestrator(仅web启) / sanguo_api(uvicorn) / sanguo_web(前端) / docker / .gitea

关键事实(已核查)VPS 回测入口 sanguo_portfolio/runner_backtest.py 直接调 run_backtest()不走 ProcessPool/orchestratorVPS 无常驻 web。所以 orchestrator/pool/api.uvicorn/前端 = VPS 不触及。


策略 session 认领(sanguo_backtest + sanguo_portfolio

commit message 基建初判 session判定 理由
b66a6c5 load_data 直查 dbbardata 绕 peewee(治CTA死算) [vps]
2ff8eca rolling alpha/beta 向量化(治分钟级卡死) [vps]
b2c41c7 CTA metrics benchmark 缺失降级 [vps]
9588a77 回测可观测性 L1+L2+L3 [vps]
7a14d7d strategy 字段全链透传(→runner_backtest) [vps]
c263aa1 cta_engine load_data logging nas
3d934f5 cta_engine 阶段 logging nas
6d23f7b worker _TIMEOUT 3600→10800 [nas](orchestrator worker)
e22c8ee max_pool 透传(model+handler+前端) nas

⚠️ 重点确认:6d23f7b/e22c8ee 涉及 orchestrator/pool 调度,VPS 回测若不走 ProcessPool 则 [nas];若 VPS 也复用 worker/pool 逻辑则 [vps]。你最清楚 runner_backtest 是否触及。

前端 session 认领(sanguo_web

commit message 基建初判 session判定 理由
4c5270c EquityCurve 去 v-if + watch flush:post [nas]
c049e0e MetricCards fmt 兜底字符串值 [nas]
857d43c CTA结果页补净值曲线 [nas]

前端 VPS 不 serve(无常驻web),应全 [nas],确认即可。

后端 session 认领(sanguo_api

commit message 基建初判 session判定 理由
a17f291 /health 存活探针端点 nas

确认 /health 改动是否只触及 uvicorn web 部分,还是有非 web 代码复用。

数据 session 认领(sanguo_data / provider

近期无 sanguo_data 业务 commit,本轮跳过。


已判(基建自判,业务无需复核)

commit 判定 说明
2cb2ab0 [nas] config vnpy_dbVPS 用 SANGUO_DB_PATH env 覆盖
1989a54 [vps] requirements-lockVPS pip 装包参考(弱)
6d786fb [nas] spawn PYTHONPATH+entrypointVPS 不跑 ProcessPool
c210197/0f6cdbe/5c5bd9d [nas] entrypoint/DockerfileNAS 专属
ca0ec01 [nas] nas-verify /health gate.gitea 不推 VPS
f9b7c10/7bed73a/e080885/0332aef/53daf9b [nas] docker/docs 系列

最终汇总(2026-08-02,三 session 判定 + 已推 VPS

[vps] 已推 VPSpromote --target vps 推 b66a6c5verify E2E DONEvps-deployed tag→b66a6c5):

  • b66a6c5/2ff8eca/b2c41c7sanguo_backtest,三 session 全确认)
  • 6b3d869/3b3e429(数据 session 自行 scp,已到位)

[nas] 不推(全员确认):9588a77/7a14d7d基建误判纠正runner.pyrunner_backtest.py,只改 web/orch/前端,VPS runner_backtest 未触及)/ 6d23f7b/e22c8eeVPS 不走 ProcessPoolmax_pool 是选股池)/ c263aa1/3d934f5(纯 log/ 前端 3 条 / a17f291 / 2cb2ab0

DB 备注SANGUO_DB_PATH env 空,vt_setting.json 兜底指对 VPS 库 → 不阻塞。

机制交接:后续 commit 走 [vps]/[nas] 标签,CI enforce-label 强制 + check-vps-needed 对比 vps-deployed tag。详见 issue #6。