claude_dev
|
a2fe51b4b0
|
fix(nas): bs_5m失败股尾部补扫一轮——03:0x同步链持写锁60s busy_timeout耗尽database is locked(每晚1-5只)+偶发网络错(600247),原形态=该片窗口永久小洞;修=_sweep返failed清单,run尾部(07:40+同步链早已收工)chunk/inc各自失败集各补扫一轮自愈,补扫query计入swept配额、rlr并入exit语义;+2测试(双窗口失败→双retry=6调用自愈/零失败无retry回归);venv310 644绿 [nas]
CI/CD / test (push) Successful in 29s
CI/CD / nas-deploy (push) Successful in 33s
CI/CD / nas-verify (push) Successful in 2s
|
2026-08-25 21:32:28 +08:00 |
|
claude_dev
|
42894fe884
|
fix(nas): bs_5m --limit冒烟禁推chunk state——2026-08-22 09:17独立容器冒烟(--limit 3)实锤把state从2025-08-20多推到2025-02-18,[2025-02-18,2025-08-20]半年片被3只股'代表'5548只跳过(当日上午巡检发现:state mtime 09:17恰=冒烟时刻,窗口算术反推+代码链路三证合一);根因=limit_reached只盯DAILY_LIMIT配额防线(bs_5m_eod.py:220),--limit预截断列表后循环'正常跑完'lr=False,286行推进守卫畅通;修=chunk state推进闸门加not args.limit;+测试钉死冒烟不落state(Red复现→Green);NAS侧state两步手动补回(今晚23:5x→2025-08-20补跳过片,明晨完工后→2024-08-19跳过重跑);venv310全套177绿 [nas]
CI/CD / test (push) Successful in 10s
CI/CD / nas-deploy (push) Successful in 36s
CI/CD / nas-verify (push) Successful in 5s
|
2026-08-22 09:43:03 +08:00 |
|
claude_dev
|
9fa2f933ee
|
refactor(data): 5m回灌改每日分片——用户拍板2026-08-20'每天固定下一些',废弃--full一趟灌满——①每日一跑=回灌片(若有)+每日增量(回灌期也跑,近端7天始终新鲜)②片=半年窗口newest-first(近端先到先可用,回测最常用的近期数据第一天就有),state(bs_5m_state.json next_end)逐片向2020-01-03推进;整片扫完才推进,断点/达限次日重拉同片(OR REPLACE幂等)③全程~14片≈两周补完,每片~5.5k query/~3200万行/3-4h;片+增量每日~11k query,NAS IP独立48k配额内④DAILY_LIMIT守卫改跨窗口累计计数(swept);删FULL_TIMEOUT(半年片5.8k行/股,60s超时足够);+3测试(首片=最近半年/逐片向2020走+完结盖章/损坏state重头),main测试改双sweep断言(片+增量4调用/完结后单sweep2调用);data_platform 158绿 [nas]
CI/CD / test (push) Successful in 18s
CI/CD / nas-deploy (push) Successful in 36s
CI/CD / nas-verify (push) Successful in 17s
|
2026-08-20 10:42:34 +08:00 |
|
claude_dev
|
20ff70e85d
|
refactor(data): 5m改同库设计——用户二次拍板2026-08-20:放弃独立库,5m直接写NAS副本主库dbbardata表(interval='5m'与镜像行d/15m唯一键正交=结构性互不干扰)——①bs_5m_eod缺省库改/volume1/stock/sanguo_vnpy_v2/data_backup/quant_trading.db(=同步目标=NAS回测provider读的库portfolio_worker.py:180),NAS就地5m回测/回放reader零改动,未来VPS扩容导interval='5m'反向merge一次迁移②同库安全性实证:同步链export不带id列+NAS侧INSERT OR IGNORE按UNIQUE去重→键永不相交双向碰不到;纯merge无文件覆盖NAS本地行不会被删;id由NAS AUTOINCREMENT自分配无跨库冲突③ensure_schema防重复索引:PRAGMA index_list/index_info识别已有同列唯一索引(NAS侧uq_dbbardata)跳过,免数GB无谓开销+双倍写放大④merge_increment补busy_timeout=60000(副本库从此有第二个写者,无它撞写锁当场locked失败,60s与5m侧对齐)⑤写锁竞争说明:双写者WAL+busy_timeout串行化,与每日增量merge(秒级)重叠单股失败次日LOOKBACK=7自愈;+2测试(缺省库契约钉死/副本已有索引不重复建);40+153绿(data_platform 155) [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 34s
CI/CD / nas-verify (push) Successful in 15s
|
2026-08-20 10:10:04 +08:00 |
|
claude_dev
|
a6f924e950
|
feat(data): NAS独立5分钟线备份——bs_5m_eod新脚本(NAS专属,VPS永不跑)——用户拍板2026-08-20:NAS既有数据全是VPS同步镜像(nas_sync零接触),5m是NAS唯一自主从baostock下载数据,落独立库BS_5M_DB(缺省/volume1/stock/sanguo_5m/dbbardata_5m.db容器内外同路径),绝不写同步目标data_backup/quant_trading.db;①首次自建schema+唯一索引(REPLACE去重)②缺省每日增量LOOKBACK=7(DSM任务计划~19:05);--full一次性回灌2020-01-03+(baostock分钟固定起点非滚动;全区间每股恰1次调用=~5.5k query一趟≈3.6亿行,数小时级,per-stock短事务断点续跑幂等;FULL_TIMEOUT=300s防大payload误杀)③配额:NAS出口IP独立核算48k/天与VPS互不相干,DAILY_LIMIT守卫保留④单实例锁bs_5m.lock(pid活性检测,死锁自动覆盖/PermissionError按在跑)防DSM定时与--full长跑撞车=同IP双baostock连接红线⑤复用bs_eod四件套+datetime拼接/数值口径与15m完全同款;+13测试(schema/REPLACE不双行/per-stock原子/full vs daily窗口/锁三态/main四条);data_platform 153绿 [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 36s
CI/CD / nas-verify (push) Successful in 16s
|
2026-08-20 09:58:00 +08:00 |
|