towerops/config
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
..
config.exs Ignore pod shutdown errors in ErrorTracker 2026-02-17 10:59:51 -06:00
dev.exs refactor: replace Task.start with Oban for alert notifications 2026-03-05 09:22:14 -06:00
prod.exs fix: temporarily disable Honeybadger in production 2026-02-17 16:42:37 -06:00
runtime.exs refactor: replace Task.start with Oban for alert notifications 2026-03-05 09:22:14 -06:00
test.exs Add ErrorTracker, remove Honeybadger email notice filter 2026-02-17 08:13:34 -06:00