towerops/test
Graham McIntire cc0a4f4ed6
refactor: replace Task.start with Oban for alert notifications
Replaced fire-and-forget Task.start calls with reliable Oban workers
for all alert notifications.

**Why Oban instead of Task.start:**
-  Persistent - jobs survive crashes/restarts
-  Automatic retries with backoff (3 attempts)
-  Monitoring via Oban dashboard
-  Rate limiting via queue concurrency
-  Distributed coordination across servers

**Changes:**
- Created AlertNotificationWorker for trigger/acknowledge/resolve
- Added notifications queue (concurrency: 10) to Oban config
- Replaced 4 Task.start calls in alerts.ex and device_monitor_worker.ex
- Updated 2 test assertions for string alert_type

**Files changed:**
- lib/towerops/workers/alert_notification_worker.ex (new)
- lib/towerops/alerts.ex
- lib/towerops/workers/device_monitor_worker.ex
- config/dev.exs
- config/runtime.exs
- test/towerops/alerts_test.exs

Notifications are now guaranteed to be delivered with automatic retry.
2026-03-05 09:22:14 -06:00
..
integration routeros fixes and latency rounding 2026-02-09 17:30:06 -06:00
mix/tasks more tests 2026-02-03 10:19:56 -06:00
snmpkit Fix Gaiia inventory matching, mapping UX, and logo link 2026-02-15 17:41:43 -06:00
support fix: resolve compilation errors, test failures, and credo issues 2026-02-14 12:23:10 -06:00
towerops refactor: replace Task.start with Oban for alert notifications 2026-03-05 09:22:14 -06:00
towerops_web fix: convert alert_type from enum to string and fix SQL array syntax 2026-03-05 09:12:39 -06:00
test_helper.exs complete overhaul of snmp engine to C nif 2026-01-30 12:27:12 -06:00
towerops_native_test.exs fix: resolve typing violation and ETS cache race in tests 2026-02-14 12:32:43 -06:00