[fix] checker: don't run the checker when uwsgi is not properly configured

Before this commit, even with the scheduler disabled, the checker was running
at least once for each uwsgi worker.
This commit is contained in:
Alexandre Flament
2021-01-13 14:07:39 +01:00
parent 7f0c508598
commit 912c7e975c
4 changed files with 9 additions and 6 deletions
+6 -5
View File
@@ -40,8 +40,9 @@ def get_result():
return json.loads(serialized_result)
def _set_result(result):
result['timestamp'] = int(time.time() / 3600) * 3600
def _set_result(result, include_timestamp=True):
if include_timestamp:
result['timestamp'] = int(time.time() / 3600) * 3600
storage.set_str(CHECKER_RESULT, json.dumps(result))
@@ -82,8 +83,8 @@ def _run_with_delay():
def _start_scheduling():
every = _get_every()
schedule(every[0], _run_with_delay)
run()
if schedule(every[0], _run_with_delay):
run()
def _signal_handler(signum, frame):
@@ -111,7 +112,7 @@ def initialize():
return
#
_set_result({'status': 'unknown'})
_set_result({'status': 'unknown'}, include_timestamp=False)
start_after = scheduling.get('start_after', (300, 1800))
start_after = _get_interval(start_after, 'checker.scheduling.start_after is not a int or list')
+1 -1
View File
@@ -22,7 +22,7 @@ else:
from .shared_simple import SimpleSharedDict as SharedDict
def schedule(delay, func, *args):
pass
return False
else:
# uwsgi
from .shared_uwsgi import UwsgiCacheSharedDict as SharedDict, schedule
+1
View File
@@ -36,3 +36,4 @@ def schedule(delay, func, *args):
func(*args)
call_later()
return True
+1
View File
@@ -61,3 +61,4 @@ def schedule(delay, func, *args):
_last_signal += 1
uwsgi.register_signal(signal_num, 'worker', sighandler)
uwsgi.add_timer(signal_num, delay)
return True