]> git.ipfire.org Git - people/shoehn/ipfire.org.git/commitdiff
manager: Clear mirror data, if something was changed.
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 18 Jan 2011 22:56:15 +0000 (23:56 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 18 Jan 2011 22:56:15 +0000 (23:56 +0100)
www/webapp/backend/memcached.py
www/webapp/backend/mirrors.py

index bf293d52f4a6577683078bc6daf76c3741959434..c489d9cb93846eaee91a540fc4a9aff6fbbad6cb 100644 (file)
@@ -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)
index cc5af681a43e6f5d39a73313bf06003999056685..d5f348fd35befad2d084a459b040ad08f976d39f 100644 (file)
@@ -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()