Files
links/routermon/tasks.py
T
2026-04-16 14:01:43 +10:00

24 lines
856 B
Python

"""APScheduler periodic tasks for routermon."""
import logging
logger = logging.getLogger(__name__)
def cleanup_old_queries():
"""Delete DnsQuery rows older than retention_days. Run periodically."""
try:
from datetime import timedelta
from django.utils import timezone
from .models import RouterMonSettings, DnsQuery
settings = RouterMonSettings.get()
if settings.retention_days <= 0:
return
cutoff = timezone.now() - timedelta(days=settings.retention_days)
deleted, _ = DnsQuery.objects.filter(timestamp__lt=cutoff).delete()
if deleted:
logger.info('routermon: pruned %d old DNS query records (>%d days)', deleted, settings.retention_days)
except Exception as exc:
logger.error('routermon: cleanup_old_queries error: %s', exc, exc_info=True)