From 70944b3c20cea0dfd1e662adb39593078ff8f035 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Tue, 1 Jun 2010 11:53:42 +0100 Subject: [PATCH] Added functions to clear old cache documents --- cronjobs.txt | 1 + eve_proxy/cron.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 eve_proxy/cron.py diff --git a/cronjobs.txt b/cronjobs.txt index 1b320e9..f1a777d 100644 --- a/cronjobs.txt +++ b/cronjobs.txt @@ -6,3 +6,4 @@ ROOT=/home/matalok/auth/auth @hourly $ROOT/run-cron.py sso.cron RemoveInvalidUsers > $ROOT/logs/auth-update.log 2>&1 @daily $ROOT/run-cron.py registration.cron RemoveExpiredProfiles > /dev/null 2>&1 @daily $ROOT/run-cron.py eve_api.cron CorpManagementUpdate > $ROOT/logs/corpman-update.log 2>&1 +@daily $ROOT/run-cron.py eve_proxy.cron ClearStaleCache > $ROOT/logs/cache-clear.log 2>&1 diff --git a/eve_proxy/cron.py b/eve_proxy/cron.py new file mode 100644 index 0000000..e028eac --- /dev/null +++ b/eve_proxy/cron.py @@ -0,0 +1,20 @@ +import logging +from datetime import datetime + +from eve_proxy.models import CachedDocument + +class ClearStaleCache(): + """ + Clears out any stale cache entries + """ + + @property + def _logger(self): + if not hasattr(self, '__logger'): + self.__logger = logging.getLogger(__name__) + return self.__logger + + def job(self): + objs = CachedDocument.objects.filter(cached_until__lt=datetime.utcnow()) + self._logger.info('Removing %s stale cache documents') + objs.delete()