summaryrefslogtreecommitdiff
path: root/searx
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 /searx
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.
Diffstat (limited to 'searx')
-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