-
feat(ops): 定时任务写侧总闸 PAC_SCHEDULER_DISABLED —— 迁移期新旧实例不双跑 · 79d04ee8
服务器迁移窗口里新旧实例并存,新实例要能起来接流量、验证配置,但绝不能同时对 DW 做 增量摄入 + persona/plan 重算: - 各连各库:两边各拉各的,待迁移的数据快照持续偏移,dump 出来就是旧的 - 同连一库:互抢 sync_logs 的 partial UNIQUE(host_id) WHERE status='running' 锁, 还会把对方**正在跑**的锁当"僵尸"回收(判据只看 startedAt 早于本进程启动) 【为什么必须是代码开关,env 关不掉】 - jvs-dw 的 manifest 写死 auto_sync: true,scheduler 启动即自动发现并注册 - cron 也写在 manifest(incremental_cron),优先级高于全局 PAC_INCREMENTAL_CRON - PAC_INCREMENTAL_HOSTS= 留空只会 fallback 到自动发现 - 改 manifest 能关,但 deploy-prod.sh 会 git pull 覆盖掉 覆盖范围**只关写、不关读**:✅ sync-incremental(摄入+persona+plan)—— 闸判定放在 reapStaleRunningLocks **之前**, 禁用态完全不碰 sync_logs✅ stale-scan(enqueue persona 重算)❌ dw-lag-monitor / daily-health-report —— 只发告警和报表,备用实例照常跑反而多一双眼睛 这条边界用测试钉住,防后来人"顺手统一"掉 → 迁移期静默失去监控。 只认严格的 '1','true'/'yes' 都不算 —— 半开状态比全开更难查。⚠ ️ 迁移完成、旧实例下线后务必移除该 env 并重启,否则新生产静默不摄入(只表现为数据越来越旧)。 测试 824 项(+6)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>luoqi committed
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| asr-sensevoice | Loading commit data... | |
| pac-docs | Loading commit data... | |
| pac-service | Loading commit data... | |
| pac-web | Loading commit data... |