步骤4阶段1 D2执行方案 最终确认版 v2

源文件:D:\Hermes\reports\步骤4阶段1_D2执行方案_最终确认版_v2.md · 日期 2026-09-14 · 3KB

D2执行前最后修正(最终确认版)

日期: 2026-09-14
状态: 等待用户最终确认


关键发现:Dead-Man测试机制 ✅

alert_channel_health.py的行为

# 从代码分析:
# 1. 每15分钟运行一次(cron: */15 * * * *)
# 2. 检查5个任务的心跳状态(position_688306等)
# 3. 写入自己的心跳到channel_health表
# 4. 检查channel_health表的last_check_time
# 5. 如果超过30分钟无心跳 → 触发Dead-Man告警

关键代码:
  - _write_heartbeat("alert_channel_health", "ok")  # 写心跳
  - check_dead_man()  # 检测自己是否"死机"
  - 写入alerts表

Dead-Man测试正确流程

17:25  准备测试(打印时间戳)
17:26  暂停alert_channel_health cron
       hermes cron pause 7e8ae2aeca81
17:27  验证暂停
       hermes cron list | grep 7e8ae2aeca81
17:28  等待30分钟...
       ...
17:58  手动触发alert_channel_health运行
       hermes cron run 7e8ae2aeca81
18:00  验证Dead-Man告警
       SELECT * FROM alerts WHERE alert_type='dead_man'
18:02  恢复cron
       hermes cron resume 7e8ae2aeca81 --run-now
18:05  清理测试数据
       DELETE FROM alerts WHERE alert_type='dead_man' AND created_at >= '...'
18:10  打印总结

任务1:修正Dead-Man测试步骤 ✅

修正后的步骤

时间 步骤 命令/操作
17:25 准备 打印时间戳 [TEST] Dead-Man测试开始: 2026-09-15T17:25:00
17:26 备份 hermes cron list > D:/Hermes/reports/D2_deadman_backup.txt
17:27 暂停cron hermes cron pause 7e8ae2aeca81
17:28 验证 hermes cron list | grep 7e8ae2aeca81 → paused
17:29-17:57 等待30分钟 -
17:58 手动触发 hermes cron run 7e8ae2aeca81
18:00 验证告警 SELECT * FROM alerts WHERE alert_type='dead_man'
18:02 恢复cron hermes cron resume 7e8ae2aeca81 --run-now
18:05 清理 DELETE测试数据
18:10 完成 打印总结

任务2:修正触发时间 ✅

时间线

17:27  暂停cron
17:27-17:57  等待30分钟(心跳超时阈值)
17:58  手动触发运行(强制检测)
18:00  验证告警已写入
18:02  恢复cron

关键: 手动触发是为了加速测试,不需要等18:00整点。


任务3:21:00任务冲突确认 ✅

21:00运行的任务

任务 cron_id 脚本 冲突风险
共振桥接器每日流水线 725902f0 resonance_pipeline.py ⚠️ 需确认是否读写alert_state.db
选股台账静默检查 6b235078 hb_alpha_ledger_watch.py ⚠️ 需确认是否读写alert_state.db
📊 每周周报 weekly_s hb_weekly_summary.py ✅ 无冲突
月线主进月度回测 9dce3919 monthly_mainin_backtest.py ✅ 无冲突

建议

方案A: 推迟到21:45后测试(避开21:00任务)
方案B: 先确认共振桥接器和选股台账的行为

推荐方案A(安全优先)

任务4:D2最终时间表 ✅

时段 任务 内容
17:25-18:10 Dead-Man测试 暂停→等待→触发→验证→恢复
21:45-22:30 受控测试前3项 告警路径、超时路径、通道健康
22:30-23:00 影子cron集成 B3临时替换
23:00-23:30 回归验证 清理+确认

最终确认清单

□ D1总结已确认(90次运行,100%成功)
□ Dead-Man测试步骤已修正(暂停alert_channel_health而非ops_system_health)
□ Dead-Man触发时间已修正(手动触发,不等整点)
□ 21:00任务冲突已分析(建议推迟到21:45后)
□ 备份文件已确认(jobs.json.bak_20260913)

⏳ 等待用户确认"进入D2"...

请确认以上方案,回复"进入D2"启动明天执行。