remove timedelta for gunicorn with multiple workers to stay in sync

This commit is contained in:
ziirish 2018-04-13 14:43:49 +02:00
parent 636024d402
commit fd797bcbf2
No known key found for this signature in database
GPG key ID: 72DB229A64B54E46

View file

@ -23,8 +23,6 @@ from .desc import __version__, __release__
class BUIConfig(dict): class BUIConfig(dict):
"""Custom config parser""" """Custom config parser"""
logger = logging.getLogger('burp-ui') logger = logging.getLogger('burp-ui')
delta = datetime.timedelta(seconds=30)
last = datetime.datetime.now() - delta
mtime = 0 mtime = 0
def __init__(self, config=None, explain=False, defaults=None): def __init__(self, config=None, explain=False, defaults=None):
@ -89,8 +87,7 @@ class BUIConfig(dict):
@property @property
def options(self): def options(self):
"""ConfigObj object""" """ConfigObj object"""
if (datetime.datetime.now() - self.last) > self.delta: self._refresh()
self._refresh()
return self.conf return self.conf
@property @property
@ -180,13 +177,12 @@ class BUIConfig(dict):
def changed(self, id): def changed(self, id):
"""Check if the conf has changed""" """Check if the conf has changed"""
if (datetime.datetime.now() - self.last) > self.delta: # don't use delta for cases where we run several gunicorn workers
self._refresh() self._refresh()
return id != self.mtime return id != self.mtime
def _refresh(self, force=False): def _refresh(self, force=False):
"""Refresh conf""" """Refresh conf"""
self.last = datetime.datetime.now()
mtime = os.path.getmtime(self.conffile) mtime = os.path.getmtime(self.conffile)
if mtime != self.mtime or force: if mtime != self.mtime or force:
self.logger.debug('Configuration changed') self.logger.debug('Configuration changed')