mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 20:14:16 +08:00
策略页开启实时行情时, 被监控的策略列表反复闪烁 (变 0 → 全部失效 → 又出现), 非监控策略不受影响。 根因: 每个行情周期后端先广播 quotes_updated 再重算策略, 重算时先清空内存结果 再逐个回填 (非原子窗口)。前端 quotes_updated 与 strategy_results_updated 两个 SSE 事件都刷新 screener-cached, 第一次撞上清空窗口拿到空结果, 第二次拿到重算 结果, 每周期重复 → 闪烁。 修复: - 前端: 从 SSE_INVALIDATE_PREFIXES 移除 screener, quotes_updated 不再刷新策略页, 每周期只剩 strategy_results_updated (重算完成后才发) 触发一次刷新。 - 后端: monitor.evaluate 改为临时容器收集结果, 算完后整体替换 _latest_strategy_results, /cached 并发读取永远拿到完整结果, 不会读到空中间态。 配套: - 新增 strategy_results_updated SSE 事件 + subscriber 合并通知机制 - 策略卡片 loading 时不显示旧命中数, 避免刷新时数字跳动