1.8 KiB
1.8 KiB
审计 — 每日离线巡检发报前 SSH 复检
范围(文件清单)
| 文件 | 变更 |
|---|---|
server/application/server_connectivity.py |
health_check_server_ids;扫描列表 batch_server_display_name |
server/application/services/offline_daily_report_schedule.py |
preflight 后二次 snapshot |
server/config.py |
OFFLINE_DAILY_REPORT_HEALTH_CHECK |
server/infrastructure/telegram/__init__.py |
preflight 参数与文案 |
server/background/server_offline_monitor.py |
告警显示名备注优先 |
tests/test_offline_daily_report_schedule.py |
preflight 单测 |
Step 3 规则扫描
| H | 规则 | 结论 |
|---|---|---|
| H1 | 复用既有 SSH 探测,不新造协议 | PASS — ssh_health_probe + write_ssh_health_heartbeat |
| H2 | 并发受控 | PASS — Semaphore(10) 与批量健康检查一致 |
| H3 | 可配置关闭 | PASS — OFFLINE_DAILY_REPORT_HEALTH_CHECK |
| H4 | 日报数据为复检后 snapshot | PASS — 二次 collect_offline_snapshot |
| H5 | 显示名与批量任务 SSOT 一致 | PASS — batch_server_display_name |
Closure
| H | 判定 | 依据 |
|---|---|---|
| H1 | SAFE | server_connectivity.health_check_server_ids |
| H2 | SAFE | asyncio.Semaphore(max(1, concurrency)) |
| H3 | SAFE | _health_check_enabled() |
| H4 | SAFE | offline_daily_report_schedule.run_scheduled_offline_daily_report |
| H5 | SAFE | scan_monitored_connectivity / server_offline_monitor |
DoD
- pytest tests/test_offline_daily_report_schedule.py tests/test_batch_server_display_name.py
- changelog 2026-06-30-offline-daily-preflight-health-check.md
- 无 DB 迁移
验证
.venv/bin/pytest tests/test_offline_daily_report_schedule.py tests/test_batch_server_display_name.py -q