Files
tick-stock-panel/backend/tests
shy3130 939149e8a0 feat(backtest): 强制重跑 — force 绕过同参数任务结果缓存; 修 cancel key 对齐
策略回测按全参数 md5 作 job_key, 已完成任务结果保留 5 分钟 — 同参数再次
运行直接命中缓存返回旧结果 (重连/切页恢复设计的副产物), 用户改完数据后
重跑拿到的仍是旧行为产物, 此前没有绕过手段。

- startBacktest/strategy_stream 新增 force: 掺入 job_key 使其不命中缓存
  必然重算; 不动任务复用/并发语义, 重连与取消按同一 qs 重算 key 天然对齐
- 运行回测旁新增「强制重跑」按钮 (RefreshCw, 次要样式, 悬停说明语义),
  disabled 条件与主按钮一致
- 补算环境并继续改为 handleRun(true): 已失败任务的 error 同样被任务缓存
  保留, 补算成功后自动重跑不带 force 会命中同参数旧 job 直接重放补算前的
  报错 — 用户实测补算完成后仍提示"缺少前一交易日环境 2019-10-22 等 112 天"
  即此因 (实测数据已补齐: 2019-10-22~2026-10-29 共 1703 行无缺口)
- 修预存 bug: /strategy/cancel 重算 job_key 漏了 minute_fill 与
  regime_filter — 开了分钟K精确回测或市场环境过滤的任务停止按钮失效

验证: test_backtest_stream_force 3 passed (force 改 key 且幂等; cancel 带
force/minute_fill/regime_filter 的 qs 能取消到、缺参取消不到 — 走真实
qs→key 解析路径不启动回测线程); ruff 与 HEAD 对照零新增; pnpm build 通过。

Signed-off-by: shy3130 <shy3130@qq.com>
2026-10-29 13:09:50 +08:00
..
2026-10-15 16:10:20 +08:00
2026-10-06 12:40:16 +08:00