From 284ac472b127af01e8d24102bac63ee36033d43f Mon Sep 17 00:00:00 2001 From: claude_dev Date: Sun, 6 Sep 2026 23:43:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(data):=20wrapper=20daily=20=E5=8A=A0=20--un?= =?UTF-8?q?til=2010:30+rc3=20=E7=BB=AD=E8=B5=B0=20backfill=20[nas]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit day-1 预算问题(首日 news_meta 空→recent-100 全新→全文段 ~15万 art 洪峰): daily 无墙钟会闯夜间带违反 00:30-17:30 硬约束。daily --until 10:30=spec 4.5h 预算;rc=0|3 都续走 backfill(墙钟截断的全文残余由 ③ 账本反扫当日 兜底无洞);rc=1|2 跳过次日自愈 --- scripts/nas_sync/run_corpus_standalone.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/nas_sync/run_corpus_standalone.sh b/scripts/nas_sync/run_corpus_standalone.sh index a0f3df6..8101b33 100644 --- a/scripts/nas_sync/run_corpus_standalone.sh +++ b/scripts/nas_sync/run_corpus_standalone.sh @@ -16,8 +16,11 @@ # 但无附属组 101 会被 Permission denied(POSIX rwxrwxrwx 位被 ACL 覆盖)。 # 补 --group-add 101 后读/写/新文件继承全绿(admin 属主+administrators ACL)。 # -# 两 lane 串行(脚本内单实例锁天然互斥,这里顺序执行): daily 成功后才跑 -# backfill(--until 17:30 墙钟自停);rc 聚合=任一非零即整体非零,daily 优先报。 +# 两 lane 串行(脚本内单实例锁天然互斥,这里顺序执行): daily --until 10:30 +# (spec 预算 4.5h;首日 news_meta 空 → recent-100 全新 → 全文段洪峰,墙钟防闯 +# 夜间带);rc=0|3(完成|墙钟自停)都续走 backfill --until 17:30,墙钟截断的 +# 全文残余由 backfill ③(账本反扫)当日兜底无洞;rc=1|2 跳过 backfill 次日自愈。 +# rc 聚合=任一非零即整体非零,daily 优先报。 # # 部署位: NAS /volume1/stock/corpus/run_corpus.sh(宿主文件,CI 不覆盖; # 改本 repo 副本后需 scp -O 手动同步——DSM 无 SFTP 子系统,同 5m 纪律): @@ -42,11 +45,11 @@ GID_ADMINS=101 # administrators(Synology ACL 授权组,金丝雀实测必带) -v /volume1/stock:/volume1/stock \ -v "$APP":/app:ro \ sanguo_vnpy_v2:lock-aligned \ - /app/scripts/data_platform/corpus_download.py --lane daily + /app/scripts/data_platform/corpus_download.py --lane daily --until 10:30 rc_daily=$? echo "=== $(date '+%F %T') corpus daily lane exit=$rc_daily ===" rc_back=0 - if [ "$rc_daily" -eq 0 ]; then + if [ "$rc_daily" -eq 0 ] || [ "$rc_daily" -eq 3 ]; then "$DOCKER" run --rm --name sanguo-corpus --user "${UID_ADMIN}:${GID_ADMIN}" \ --group-add "${GID_ADMINS}" --entrypoint python \ -v /volume1/stock:/volume1/stock \