summaryrefslogtreecommitdiff
path: root/searx/search
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-01-17 16:14:16 +0100
committerAlexandre Flament <alex@al-f.net>2021-01-18 08:19:44 +0100
commitd473407ec97107022ccbdd366559001b1ec162d8 (patch)
tree8924f2d081963dc7d65b1a4beaeda7214a6874f5 /searx/search
parentca76f3119a4d66cb8aa74829ca5f0a0a72f0f96b (diff)
downloadsearxng-d473407ec97107022ccbdd366559001b1ec162d8.tar.gz
searxng-d473407ec97107022ccbdd366559001b1ec162d8.zip
[fix] checker: fix engine statistics
Without this commit, the URL /stats/errors shows percentage above 100% after the checker has run.
Diffstat (limited to 'searx/search')
-rw-r--r--searx/search/checker/impl.py3
-rw-r--r--searx/search/processors/abstract.py4
2 files changed, 5 insertions, 2 deletions
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