Rev4460, Fix mergersite update on slow storage

This commit is contained in:
shortcutme 2020-03-02 16:44:34 +01:00
parent 219b90668f
commit 1fc67a3d71
No known key found for this signature in database
GPG Key ID: 5B63BAE6CB9613AE
2 changed files with 16 additions and 10 deletions

View File

@ -345,9 +345,9 @@ class SiteManagerPlugin(object):
def updateMergerSites(self):
global merger_db, merged_db, merged_to_merger, site_manager
s = time.time()
merger_db = {}
merged_db = {}
merged_to_merger = {}
merger_db_new = {}
merged_db_new = {}
merged_to_merger_new = {}
site_manager = self
if not self.sites:
return
@ -359,7 +359,7 @@ class SiteManagerPlugin(object):
self.log.error("Error loading site %s: %s" % (site.address, Debug.formatException(err)))
continue
if merged_type:
merged_db[site.address] = merged_type
merged_db_new[site.address] = merged_type
# Update merger sites
for permission in site.settings["permissions"]:
@ -373,9 +373,9 @@ class SiteManagerPlugin(object):
site.settings["permissions"].remove(permission)
continue
merger_type = permission.replace("Merger:", "")
if site.address not in merger_db:
merger_db[site.address] = []
merger_db[site.address].append(merger_type)
if site.address not in merger_db_new:
merger_db_new[site.address] = []
merger_db_new[site.address].append(merger_type)
site_manager.sites[site.address] = site
# Update merged to merger
@ -383,8 +383,14 @@ class SiteManagerPlugin(object):
for merger_site in self.sites.values():
if "Merger:" + merged_type in merger_site.settings["permissions"]:
if site.address not in merged_to_merger:
merged_to_merger[site.address] = []
merged_to_merger[site.address].append(merger_site)
merged_to_merger_new[site.address] = []
merged_to_merger_new[site.address].append(merger_site)
# Update globals
merger_db = merger_db_new
merged_db = merged_db_new
merged_to_merger = merged_to_merger_new
self.log.debug("Updated merger sites in %.3fs" % (time.time() - s))
def load(self, *args, **kwags):

View File

@ -13,7 +13,7 @@ class Config(object):
def __init__(self, argv):
self.version = "0.7.1"
self.rev = 4458
self.rev = 4460
self.argv = argv
self.action = None
self.test_parser = None