towerops/priv/static
Graham McIntire 997bc46cbf fix: dns and ping checks not executing in production (#71)
## Summary

- **Ping checks never scheduled**: `ensure_default_ping_check` created check records but never called `schedule_check`, so auto-created ping checks never executed
- **Skipped checks permanently orphaned**: `CheckExecutorWorker` only rescheduled checks that actually executed — skipped checks (agent-assigned, SNMP disabled) broke the scheduling chain permanently
- **No recovery mechanism**: `JobHealthCheckWorker` only recovered `DeviceMonitorWorker` jobs, not `CheckExecutorWorker` jobs — any lost check job was gone forever

## Changes

- `monitoring.ex`: Call `schedule_check` after creating ping check in `ensure_default_ping_check`
- `check_executor_worker.ex`: Reschedule skipped-but-enabled checks so conditions are re-evaluated next cycle
- `job_health_check_worker.ex`: Recover orphaned `CheckExecutorWorker` jobs for enabled checks (runs every 10 min)
- `devices.ex`: Wrap `ensure_default_ping_check` in try/rescue for deadlock resilience

## Test plan

- [x] New tests: ping check scheduling on creation, no duplicate scheduling on idempotent call
- [x] Updated tests: skipped checks now assert rescheduling instead of orphaning
- [x] New tests: health check worker recovers orphaned check executor jobs, skips disabled checks
- [x] All 177 targeted tests pass
- [x] Compile clean with warnings-as-errors
- [x] Pre-commit hooks pass (credo, format)

Reviewed-on: graham/towerops-web#71
2026-03-18 08:43:37 -05:00
..
images add texas footer 2026-01-18 13:15:27 -06:00
android-icon-36x36.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
android-icon-48x48.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
android-icon-72x72.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
android-icon-96x96.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
android-icon-144x144.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
android-icon-192x192.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-57x57.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-60x60.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-72x72.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-76x76.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-114x114.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-120x120.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-144x144.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-152x152.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-180x180.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon-precomposed.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
apple-icon.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
changelog.txt fix: dns and ping checks not executing in production (#71) 2026-03-18 08:43:37 -05:00
favicon-16x16.png fix: use transparent background for stoplight favicon 2026-03-06 14:46:02 -06:00
favicon-32x32.png fix: use transparent background for stoplight favicon 2026-03-06 14:46:02 -06:00
favicon-96x96.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
favicon.ico fix: use transparent background for stoplight favicon 2026-03-06 14:46:02 -06:00
ms-icon-70x70.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
ms-icon-144x144.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
ms-icon-150x150.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
ms-icon-310x310.png sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
robots.txt init 2025-12-21 11:10:43 -06:00