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