--- name: lottery-cron-draw-result-flow description: 开奖后 cron 核验流程 (2026-08-13 新建) — 22:30 北京 lottery-draw-result cron 跑 verify_lottery.sh version: 1.0.0 type: reference --- # 🎯 开奖后核验 Cron 流程 (2026-08-13 新建) ## ⚠️ 旧 bug (2026-08-13 之前) `lottery-draw-result` cron (job_id `668dcf3ec54d`) 配置: - ❌ **script 错**: 指向 `lottery_特码_cron.sh` (分析脚本, 不是核验脚本) - ❌ **schedule 错**: `0 14 * * 0,2,4` UTC = 北京 22:00 (开彩后 30 分钟, v_xg.json 还没更新到 Qi) 结果: 22:00 北京 cron 跑了一次**未开下期**分析(等于 11:30 那次重复),完全不是"记录命中"。 ## ✅ 修复 (2026-08-13) | 项 | 旧 | 新 | |---|---|---| | **schedule** | `0 14 * * 0,2,4` UTC (北京 22:00) | `30 14 * * 0,2,4` UTC (北京 22:30) | | **script** | `lottery_特码_cron.sh` (分析) | `verify_lottery.sh` (核验) | ## 🔄 verify_lottery.sh 完整流程 (no_agent 模式, 无 browser 工具) ``` 1. curl v_xg.json (UA + proxy 7890 fallback → noproxy fallback) ↓ 失败 2. 兜底: 从 SQLite draws 表读最近 Qi 期 ↓ 3. Qi 期平码/特码 → writes_draws (如果空) via `python3 lottery_特码.py add 7数` ↓ 4. python3 lottery_特码.py hits → check_hits() 更新所有 analysis hit 状态 ↓ 5. 找 Qi 期分析 .md (Qi→Nq 修复后, 11:30 cron 跑 Nq, 22:30 verify 时 Qi 已是新一期) ↓ 6. 输出核验报告 → ~/.hermes/cron/output/lottery-verify/<时间>_.md ``` ## 🚨 关键设计决策: **v_xg.json = 真开彩源, 不需要 marksix6.com browser** - v_xg.json `Data.1-7` = Qi 期真开彩 (2026-08-04 marksix6.com 验证) - 直接 curl JSON, **不需要 browser** → **no_agent cron 模式可用** - marksix6.com 是 Vue SSR 包装页, **curl 拿不到** (只能 browser), 而 cron no_agent 没 browser - **结论**: v_xg.json 是 cron 自动核验唯一可行的真开彩源 ## 📌 draw 表入库机制 (2026-08-13) | 入口 | 触发 | 用途 | |---|---|---| | `python3 lottery_特码.py add 7数` | **手填** | 用户/agent 手动入库 | | verify_lottery.sh 自动调 add | **自动** (v_xg.json 拿得到时) | 22:30 cron 跑时入库 | | marksix6.com 抓取 | ❌ **不存在** (cron 拿不到, 没脚本) | — | **手动入库时机** (用户偏好): - 看完 21:30 开彩直播后, 等 v_xg.json 更新 (5-10 分钟), agent 抓 Data.1-7 验证 - 或 22:30 cron 跑完没数据, 手动跑 `python3 lottery_特码.py add 7数` ## 🔧 找 Qi 期分析 .md 的关键 (2026-08-13) ```bash # 旧 (错): 找 Qi-1 期 (因为之前 cron 跑 Qi = Qi-1, 现在 Qi→Nq 修复后失效) PREV_PERIOD=$((QI - 1)) grep -l "${PREV_PERIOD}期" ~/.hermes/cron/output/5bec1f60f77f/*.md # 新 (对): 找 Qi 期 (cron 11:30 跑 Nq 期分析, 22:30 verify 时 Qi 已经是新一期, # 那个 Nq 期 == 当前 Qi 期) grep -l "${QI}期" ~/.hermes/cron/output/5bec1f60f77f/*.md ``` ## 📂 相关脚本 - `scripts/verify_lottery.sh` — 核验主脚本 (no_agent 模式, 走 v_xg.json) - `scripts/lottery_特码.py add` / `hits` — 入库 + 命中计算 (verify_lottery.sh 内部调) - `references/2026-08-04-analytics-history-and-cron-no-agent.md` — 早先的 cron 改 no_agent 文档