From 6f3dbad09ea78650fe1267a31cffebbb682fa6a9 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Tue, 30 Mar 2010 22:32:42 +0100 Subject: [PATCH] Updated cronjobs --- cronjobs.txt | 4 ++-- reddit/cron.py | 24 +++++++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/cronjobs.txt b/cronjobs.txt index 4bec567..2b01273 100644 --- a/cronjobs.txt +++ b/cronjobs.txt @@ -1,5 +1,5 @@ -ROOT=$HOME/auth/auth/ +ROOT=/home/matalok/auth/auth @daily $ROOT/run-cron.py reddit.cron UpdateAPIs @daily $ROOT/run-cron.py eve_api.cron UpdateAPIs -*/10 * * * * $ROOT/run-cron.py sso.cron RemoveInvalidUsers +*/10 * * * * $ROOT/run-cron.py sso.cron RemoveInvalidUsers > $ROOT/auth-update.log 2>&1 diff --git a/reddit/cron.py b/reddit/cron.py index 21ffab7..a9ee0dd 100644 --- a/reddit/cron.py +++ b/reddit/cron.py @@ -1,4 +1,5 @@ import time +import datetime import logging from reddit.models import RedditAccount @@ -13,12 +14,25 @@ class UpdateAPIs(): if not hasattr(self, '__logger'): self.__logger = logging.getLogger(__name__) return self.__logger + + last_update_delay = 604800 def job(self): - for acc in RedditAccount.objects.all(): - acc.api_update() - acc.save() - time.sleep(2) + delta = datetime.timedelta(seconds=self.last_update_delay) + + print delta + self._logger.debug("Updating accounts older than %s" % (datetime.datetime.now() - delta)) + + for acc in RedditAccount.objects.filter(last_update__lt=(datetime.datetime.now() - delta)): + self._logger.info("Updating %s" % acc.username) + + try: + acc.api_update() + except RedditAccount.DoesNotExist: + acc.delete() + else: + acc.save() + time.sleep(.5) class APIKeyParser: @@ -38,7 +52,7 @@ class APIKeyParser: def __str__(self): return "%s:%s" % (self.user_id, self.api_key) -class ProcessInbox(Job): +class ProcessInbox(): """ Grabs all Reddit Mail and processes any new applications """