Files
tick-stock-panel/backend
shy3130 f1b41ca342 fix(financials): 全部同步改后台异步,修复点击无反应
根因:sync 路由同步阻塞调用 run_now(),全量同步 4 表 × 5500 标的需 ~2 分钟,
HTTP 请求长时间 pending 被浏览器/代理超时掐断,UI 表现为点击无反应。

后端:
- 抽出 _run_body() 同步逻辑本体;新增 trigger() 在后台线程执行,
  并在持锁状态下立即置 _is_syncing=True(消除竞态窗口 + 防重复点击启动多线程)
- sync 路由改调 trigger(),立即返回 {started: bool},前端轮询 /status.syncing 看进度

前端:
- api.ts financialSync 返回类型改为 {started; reason?}
- Financials.tsx 同步状态以 status.syncing 为真值、isPending 兜底乐观态;
  收尾时机改为监听 syncing 变 false(不再依赖瞬间触发的 onSettled);
  被防并发跳过时弹 toast 提示
2026-06-25 15:53:31 +08:00
..
2026-06-18 17:18:23 +08:00