Delayed save of sites.json

This commit is contained in:
shortcutme 2019-08-02 14:06:25 +02:00
parent f6e06456b0
commit 1eb97ea381
No known key found for this signature in database
GPG Key ID: 5B63BAE6CB9613AE
2 changed files with 5 additions and 1 deletions

View File

@ -125,7 +125,7 @@ class Site(object):
if not SiteManager.site_manager.sites.get(self.address): if not SiteManager.site_manager.sites.get(self.address):
SiteManager.site_manager.sites[self.address] = self SiteManager.site_manager.sites[self.address] = self
SiteManager.site_manager.load(False) SiteManager.site_manager.load(False)
SiteManager.site_manager.save() SiteManager.site_manager.saveDelayed()
def isServing(self): def isServing(self):
if config.offline: if config.offline:

View File

@ -11,6 +11,7 @@ from Plugin import PluginManager
from Content import ContentDb from Content import ContentDb
from Config import config from Config import config
from util import helper from util import helper
from util import RateLimit
@PluginManager.acceptPlugins @PluginManager.acceptPlugins
@ -82,6 +83,9 @@ class SiteManager(object):
self.log.debug("SiteManager added %s sites" % added) self.log.debug("SiteManager added %s sites" % added)
self.loaded = True self.loaded = True
def saveDelayed(self):
RateLimit.callAsync("Save sites.json", allowed_again=5, func=self.save)
def save(self, recalculate_size=False): def save(self, recalculate_size=False):
if not self.sites: if not self.sites:
self.log.debug("Save skipped: No sites found") self.log.debug("Save skipped: No sites found")