
wshyandshy3130
57f417e6eb
fix(sync): 修复同步卡死在26%及启动期视图注册崩溃 (#47) (#48)
三处根因:
1. 限流逻辑失效 (kline_sync.py ×3, index_sync.py ×2)
条件 `len(chunks) > rpm` 在 free 档恒为 False (56 chunks < 60 rpm),
导致节流 sleep 永不执行, 请求密集打出触发服务端限流 → 卡死。
改为始终按 interval (60/rpm) 节流。
2. 卡死看门狗无法自愈 (pipeline_jobs.py, api/pipeline.py)
原超时检查只在再次点「同步」时触发, 等待中永不回收。
抽出 JobStore.reap_stale() (STALE_JOB_TIMEOUT_S=600), 在
/run 和 /jobs/{id} 轮询端点都调用 — 前端每秒轮询, 10分钟后
必定自动回收卡死 job, UI 不再永久停在 26%。
3. 启动期视图注册异常捕获不足 (repository.py)
_register_views 只捕获 duckdb.IOException, 跨版本/平台空目录
可能抛 CatalogException 等炸掉 lifespan。放宽到 Exception。
Co-authored-by: shy3130 <shy3130@users.noreply.github.com>
2026-07-04 15:53:50 +08:00
..
2026-06-18 17:18:23 +08:00
2026-07-02 12:35:06 +08:00
2026-06-25 22:39:34 +08:00
2026-07-03 14:11:27 +08:00
2026-06-29 17:41:32 +08:00
2026-06-18 17:18:23 +08:00
2026-07-02 17:22:16 +08:00
2026-07-03 14:11:26 +08:00
2026-07-01 23:02:37 +08:00
2026-06-28 16:01:39 +08:00
2026-07-01 23:02:37 +08:00
2026-06-18 17:18:23 +08:00
2026-06-29 22:32:58 +08:00
2026-06-30 22:30:52 +08:00
2026-07-04 15:53:50 +08:00
2026-06-18 17:18:23 +08:00
2026-07-04 15:53:50 +08:00
2026-06-27 23:23:34 +08:00
2026-06-28 13:49:05 +08:00
2026-06-29 22:32:58 +08:00
2026-06-23 21:47:29 +08:00
2026-07-04 15:53:50 +08:00
2026-06-30 17:28:18 +08:00
2026-07-03 14:11:26 +08:00
2026-07-01 17:48:28 +08:00
2026-06-24 23:24:04 +08:00
2026-06-29 22:32:58 +08:00
2026-06-26 15:36:52 +08:00
2026-06-30 17:28:18 +08:00
2026-06-27 23:23:34 +08:00
2026-06-30 17:28:18 +08:00