# -*- coding: utf-8 -*- from datetime import timedelta from django.conf import settings from django.core.management.base import BaseCommand from django.utils.timezone import now from sqrl.models import SQRLNut class Command(BaseCommand): help = ('Clears expired SQRL nuts. ' 'This command should be used as a cron job. ' 'The recommended execution frequency is 5 minutes ' 'which will result in longest nut lifespan of 10 minutes.') def handle(self, *args, **options): ttl = getattr(settings, 'SQRL', {}).get('TTL', 60 * 5) # 5 minutes delete_before = now() + timedelta(seconds=-ttl) SQRLNut.objects.filter(timestamp__lt=delete_before).delete()