Migrated the final cronjobs over to tasks

This commit is contained in:
2010-11-10 12:15:43 +00:00
parent f7657a7325
commit db28b3902a
8 changed files with 22 additions and 146 deletions

View File

@@ -1,37 +0,0 @@
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, args):
objs = CachedDocument.objects.filter(cached_until__lt=datetime.utcnow())
self._logger.info('Removing %s stale cache documents' % objs.count())
objs.delete()
class FlushCache():
"""
Flushes the entire cache
"""
@property
def _logger(self):
if not hasattr(self, '__logger'):
self.__logger = logging.getLogger(__name__)
return self.__logger
def job(self, args):
objs = CachedDocument.objects.all()
self._logger.info('Removing %s stale cache documents' % objs.count())
objs.delete()

12
eve_proxy/tasks.py Normal file
View File

@@ -0,0 +1,12 @@
import logging
from datetime import datetime, timedelta
from celery.decorators import task
from eve_proxy.models import CachedDocument
@task(ignore_result=True)
def clear_stale_cache(cache_extension=0):
log = clear_stale_cache.get_logger()
time = datetime.utcnow() - timedelta(seconds=cache_extension)
objs = CachedDocument.objects.filter(cached_until__lt=datetime.utcnow()).delete()
self.log.info('Removed %s stale cache documents' % objs.count())