diff options
author | Alexandre Flament <alex@al-f.net> | 2021-01-13 14:07:39 +0100 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2021-01-13 14:07:39 +0100 |
commit | 912c7e975c3943db798d748fa48d460467b66d30 (patch) | |
tree | 0dc84bbe549fac71ead7ee4e4fafeb0d3f3021c2 /searx | |
parent | 7f0c508598cc2197e53b877dcf4c76e25a097c4f (diff) | |
download | searxng-912c7e975c3943db798d748fa48d460467b66d30.tar.gz searxng-912c7e975c3943db798d748fa48d460467b66d30.zip |
[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.
Diffstat (limited to 'searx')
-rw-r--r-- | searx/search/checker/background.py | 11 | ||||
-rw-r--r-- | searx/shared/__init__.py | 2 | ||||
-rw-r--r-- | searx/shared/shared_simple.py | 1 | ||||
-rw-r--r-- | searx/shared/shared_uwsgi.py | 1 |
4 files changed, 9 insertions, 6 deletions
diff --git a/searx/search/checker/background.py b/searx/search/checker/background.py index be30897bc..e41bff5f5 100644 --- a/searx/search/checker/background.py +++ b/searx/search/checker/background.py @@ -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') diff --git a/searx/shared/__init__.py b/searx/shared/__init__.py index 83d3a2742..cbe24d239 100644 --- a/searx/shared/__init__.py +++ b/searx/shared/__init__.py @@ -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 diff --git a/searx/shared/shared_simple.py b/searx/shared/shared_simple.py index 5b970aad9..48d8cb822 100644 --- a/searx/shared/shared_simple.py +++ b/searx/shared/shared_simple.py @@ -36,3 +36,4 @@ def schedule(delay, func, *args): func(*args) call_later() + return True diff --git a/searx/shared/shared_uwsgi.py b/searx/shared/shared_uwsgi.py index b42b5fa7b..a6dba9f59 100644 --- a/searx/shared/shared_uwsgi.py +++ b/searx/shared/shared_uwsgi.py @@ -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 |