summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-01-18 08:29:25 +0100
committerGitHub <noreply@github.com>2021-01-18 08:29:25 +0100
commit0495e15df4b5e88adef24a9b5c3dbb35e4fac072 (patch)
tree0199011d65c8783ad4b78abd2770290708ef6751 /searx
parent80d7411f2cf72b0ba7b72afe85a6703db5ec3525 (diff)
parent67a1aab0d5b8ab93b60be5da2390039f6c861505 (diff)
downloadsearxng-0495e15df4b5e88adef24a9b5c3dbb35e4fac072.tar.gz
searxng-0495e15df4b5e88adef24a9b5c3dbb35e4fac072.zip
Merge pull request #2476 from dalf/fix-error-recording-and-checker
Fix error recording and checker
Diffstat (limited to 'searx')
-rw-r--r--searx/metrology/error_recorder.py13
-rw-r--r--searx/search/checker/background.py2
-rw-r--r--searx/search/checker/impl.py3
-rw-r--r--searx/search/processors/abstract.py4
4 files changed, 11 insertions, 11 deletions
diff --git a/searx/metrology/error_recorder.py b/searx/metrology/error_recorder.py
index 65dbf33c8..f533e4e8b 100644
--- a/searx/metrology/error_recorder.py
+++ b/searx/metrology/error_recorder.py
@@ -51,15 +51,12 @@ def add_error_context(engine_name: str, error_context: ErrorContext) -> None:
def get_trace(traces):
- previous_trace = traces[-1]
for trace in reversed(traces):
- if trace.filename.endswith('searx/search.py'):
- if previous_trace.filename.endswith('searx/poolrequests.py'):
- return trace
- if previous_trace.filename.endswith('requests/models.py'):
- return trace
- return previous_trace
- previous_trace = trace
+ split_filename = trace.filename.split('/')
+ if '/'.join(split_filename[-3:-1]) == 'searx/engines':
+ return trace
+ if '/'.join(split_filename[-4:-1]) == 'searx/search/processors':
+ return trace
return traces[-1]
diff --git a/searx/search/checker/background.py b/searx/search/checker/background.py
index e41bff5f5..22a51b8bb 100644
--- a/searx/search/checker/background.py
+++ b/searx/search/checker/background.py
@@ -98,7 +98,7 @@ def initialize():
signal.signal(signal.SIGUSR1, _signal_handler)
# disabled by default
- _set_result({'status': 'disabled'})
+ _set_result({'status': 'disabled'}, include_timestamp=False)
# special case when debug is activate
if searx_debug and settings.get('checker', {}).get('off_when_debug', True):
diff --git a/searx/search/checker/impl.py b/searx/search/checker/impl.py
index 71a941f73..244536f1b 100644
--- a/searx/search/checker/impl.py
+++ b/searx/search/checker/impl.py
@@ -4,6 +4,7 @@ import typing
import types
import functools
import itertools
+import threading
from time import time
from urllib.parse import urlparse
@@ -377,6 +378,8 @@ class Checker:
engineref_category = search_query.engineref_list[0].category
params = self.processor.get_params(search_query, engineref_category)
if params is not None:
+ with threading.RLock():
+ self.processor.engine.stats['sent_search_count'] += 1
self.processor.search(search_query.query, params, result_container, time(), 5)
return result_container
diff --git a/searx/search/processors/abstract.py b/searx/search/processors/abstract.py
index eb8d296ec..3a853d49e 100644
--- a/searx/search/processors/abstract.py
+++ b/searx/search/processors/abstract.py
@@ -1,13 +1,13 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
-from abc import abstractmethod
+from abc import abstractmethod, ABC
from searx import logger
logger = logger.getChild('searx.search.processor')
-class EngineProcessor:
+class EngineProcessor(ABC):
def __init__(self, engine, engine_name):
self.engine = engine