# HG changeset patch # User Brian Neal # Date 1299296612 0 # Node ID c5ae0a276e337f203c50336b7ea9c3b447afb9ab # Parent 6d6fdc58487c1a53ee14db5127e69932c529dbe9 Fixing #170; clean old user and anonymous last visit records. diff -r 6d6fdc58487c -r c5ae0a276e33 gpp/core/management/commands/clean_last_visit.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpp/core/management/commands/clean_last_visit.py Sat Mar 05 03:43:32 2011 +0000 @@ -0,0 +1,27 @@ +""" +clean_last_visit is a custom manage.py command. +It is intended to be called from a cron job to clean out old user and anonymous +last visit records. + +""" +import datetime + +from django.core.management.base import NoArgsCommand + +from core.models import UserLastVisit, AnonLastVisit + +USER_LV_AGE = datetime.timedelta(weeks=4) +ANON_LV_AGE = datetime.timedelta(days=1) + + +class Command(NoArgsCommand): + help = "Run periodically to clean out old last visit records." + + def handle_noargs(self, **options): + + now = datetime.datetime.now() + user_cut_off = now - USER_LV_AGE + anon_cut_off = now - ANON_LV_AGE + + UserLastVisit.objects.filter(last_visit__lte=user_cut_off).delete() + AnonLastVisit.objects.filter(last_visit__lte=anon_cut_off).delete()