towerops/lib/towerops
Graham McIntire ae64ec2576
feat: add automatic polling job cleanup on deployment
Added JobCleanupTask that runs on production startup to cancel all
existing polling jobs and reschedule them with the latest worker code.

This ensures:
- No stale jobs run with old code after deployment (e.g., missing SNMPv3 credentials)
- All devices get fresh polling jobs with current logic
- Production deployments are seamless without manual intervention

The task:
- Only runs in production environment (skipped in dev/test)
- Runs asynchronously after supervisor initialization
- Cancels all DevicePollerWorker and DeviceMonitorWorker jobs
- Reschedules polling for all SNMP-enabled devices
- Is idempotent and safe to run multiple times

Removed debug logging from Client and DevicePollerWorker as SNMPv3
implementation is now verified and working correctly.
2026-02-05 08:28:27 -06:00
..
accounts fix user session controller test 2026-02-03 13:42:24 -06:00
admin feat: add audit logging to grant_sudo_mode/1 2026-02-01 14:09:40 -06:00
agents enable agent debugging 2026-01-27 13:25:04 -06:00
alerts feat: add Meraki/FortiWLC vendors, remove AlertNotifier temporarily 2026-01-22 10:40:44 -06:00
api_tokens refactor: use API token auth for profile imports instead of session cookies 2026-01-18 09:30:21 -06:00
contexts help update 2026-02-04 17:56:48 -06:00
devices tcp snmp test 2026-02-04 17:28:14 -06:00
ecto_types add mikrotik device handling 2026-02-01 16:42:39 -06:00
geoip remove Mix.env and support ip database import 2026-01-28 13:08:06 -06:00
mobile_sessions Fix datetime truncation for mobile session schemas 2026-01-15 16:17:05 -06:00
monitoring refactor: convert periodic workers to Oban Cron for better resilience 2026-01-24 16:56:28 -06:00
organizations tcp snmp test 2026-02-04 17:28:14 -06:00
profiles fix: handle nil sys_descr in profile matching 2026-02-04 18:22:12 -06:00
proto tcp snmp test 2026-02-04 17:28:14 -06:00
settings remote agent/cloud improvements 2026-01-24 09:16:41 -06:00
sites tcp snmp test 2026-02-04 17:28:14 -06:00
snmp feat: add automatic polling job cleanup on deployment 2026-02-05 08:28:27 -06:00
workers feat: add automatic polling job cleanup on deployment 2026-02-05 08:28:27 -06:00
accounts.ex add snmp port 2026-02-03 12:51:50 -06:00
admin.ex user session tracking 2026-01-29 14:14:21 -06:00
agents.ex prevent poller fallback when assigned poller is selected 2026-02-04 16:24:19 -06:00
alerts.ex refactor 2026-01-31 09:35:07 -06:00
api_tokens.ex fix my-data page 2026-01-30 16:47:11 -06:00
application.ex feat: add automatic polling job cleanup on deployment 2026-02-05 08:28:27 -06:00
devices.ex tcp snmp test 2026-02-04 17:28:14 -06:00
geoip.ex remove Mix.env and support ip database import 2026-01-28 13:08:06 -06:00
honeybadger_filter.ex filter more honeybadger alerts, format dates to users time zone, email template cleanup 2026-02-01 09:27:42 -06:00
log_filter.ex Add comprehensive Dialyzer type specifications 2026-01-17 10:52:02 -06:00
logger_filters.ex refactor: filter harmless Oban shutdown messages during deployments 2026-01-25 08:38:33 -06:00
mailer.ex moduledocs 2026-01-17 15:08:49 -06:00
mobile_sessions.ex credo cleanup 2026-01-17 15:00:52 -06:00
monitoring.ex implement timescaledb improvements 2026-01-22 13:24:14 -06:00
organizations.ex help update 2026-02-04 17:56:48 -06:00
profiles.ex add universoal import 2026-01-18 16:59:34 -06:00
redis_health_check.ex fix: remove to_charlist conversion for Redix host option 2026-01-24 17:49:57 -06:00
release.ex fix dialyzer things 2026-01-03 12:56:40 -06:00
repo.ex moduledocs 2026-01-17 15:08:49 -06:00
result.ex more tests 2026-02-03 13:20:33 -06:00
settings.ex remote agent/cloud improvements 2026-01-24 09:16:41 -06:00
sites.ex help update 2026-02-04 17:56:48 -06:00
snmp.ex fix: handle nil site in list_neighbors_with_equipment 2026-02-04 18:09:36 -06:00
vault.ex add mikrotik device handling 2026-02-01 16:42:39 -06:00