From: Michael Tremer Date: Tue, 18 Jan 2011 22:56:15 +0000 (+0100) Subject: manager: Clear mirror data, if something was changed. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3504c80a62037d6048234b0bf3abe2f75c05af61;p=ipfire.org.git manager: Clear mirror data, if something was changed. --- diff --git a/www/webapp/backend/memcached.py b/www/webapp/backend/memcached.py index bf293d52..c489d9cb 100644 --- a/www/webapp/backend/memcached.py +++ b/www/webapp/backend/memcached.py @@ -19,3 +19,6 @@ class Memcached(object): def set(self, *args, **kwargs): return self._connection.set(*args, **kwargs) + + def delete(self, *args, **kwargs): + return self._connection.delete(*args, **kwargs) diff --git a/www/webapp/backend/mirrors.py b/www/webapp/backend/mirrors.py index cc5af681..d5f348fd 100644 --- a/www/webapp/backend/mirrors.py +++ b/www/webapp/backend/mirrors.py @@ -207,10 +207,13 @@ class Mirror(object): def db(self): return Databases().webapp - def reload(self): + def reload(self, force=False): memcached = Memcached() mem_id = "mirror-%s" % self.id + if force: + memcached.delete(mem_id) + self._info = memcached.get(mem_id) if not self._info: self._info = self.db.get("SELECT * FROM mirrors WHERE id=%s", self.id) @@ -310,7 +313,7 @@ class Mirror(object): state, self.id) # Reload changed settings - self.reload() + self.reload(force=True) def check(self): logging.info("Running check for mirror %s" % self.hostname) @@ -356,7 +359,7 @@ class Mirror(object): timestamp, self.id) # Reload changed settings - self.reload() + self.reload(force=True) self.check_state()