"""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)