Plain is headed towards 1.0! Subscribe for development updates →

 1from plain.chores import register_chore
 2from plain.runtime import settings
 3from plain.utils import timezone
 4
 5from .models import NotFoundLog, RedirectLog
 6
 7
 8@register_chore("redirection")
 9def delete_logs():
10    """
11    Delete logs older than REDIRECTION_LOG_RETENTION_TIMEDELTA.
12    """
13    cutoff = timezone.now() - settings.REDIRECTION_LOG_RETENTION_TIMEDELTA
14
15    result = RedirectLog.objects.filter(created_at__lt=cutoff).delete()
16    output = f"{result[0]} redirect logs deleted"
17
18    result = NotFoundLog.objects.filter(created_at__lt=cutoff).delete()
19    output += f", {result[0]} not found logs deleted"
20
21    return output