summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-01-13 14:07:39 +0100
committerAlexandre Flament <alex@al-f.net>2021-01-13 14:07:39 +0100
commit912c7e975c3943db798d748fa48d460467b66d30 (patch)
tree0dc84bbe549fac71ead7ee4e4fafeb0d3f3021c2
parent7f0c508598cc2197e53b877dcf4c76e25a097c4f (diff)
downloadsearxng-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.
-rw-r--r--searx/search/checker/background.py11
-rw-r--r--searx/shared/__init__.py2
-rw-r--r--searx/shared/shared_simple.py1
-rw-r--r--searx/shared/shared_uwsgi.py1
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