forked from zaclys/searxng
[fix] checker: fix engine statistics
Without this commit, the URL /stats/errors shows percentage above 100% after the checker has run.
This commit is contained in:
parent
ca76f3119a
commit
d473407ec9
|
@ -53,9 +53,9 @@ def add_error_context(engine_name: str, error_context: ErrorContext) -> None:
|
||||||
def get_trace(traces):
|
def get_trace(traces):
|
||||||
for trace in reversed(traces):
|
for trace in reversed(traces):
|
||||||
split_filename = trace.filename.split('/')
|
split_filename = trace.filename.split('/')
|
||||||
if len(split_filename) > 3 and '/'.join(split_filename[-3:-1]) == 'searx/engines':
|
if '/'.join(split_filename[-3:-1]) == 'searx/engines':
|
||||||
return trace
|
return trace
|
||||||
if len(split_filename) > 3 and '/'.join(split_filename[-4:-1]) == 'searx/search/processors':
|
if '/'.join(split_filename[-4:-1]) == 'searx/search/processors':
|
||||||
return trace
|
return trace
|
||||||
return traces[-1]
|
return traces[-1]
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import typing
|
||||||
import types
|
import types
|
||||||
import functools
|
import functools
|
||||||
import itertools
|
import itertools
|
||||||
|
import threading
|
||||||
from time import time
|
from time import time
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
|
@ -377,6 +378,8 @@ class Checker:
|
||||||
engineref_category = search_query.engineref_list[0].category
|
engineref_category = search_query.engineref_list[0].category
|
||||||
params = self.processor.get_params(search_query, engineref_category)
|
params = self.processor.get_params(search_query, engineref_category)
|
||||||
if params is not None:
|
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)
|
self.processor.search(search_query.query, params, result_container, time(), 5)
|
||||||
return result_container
|
return result_container
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
from abc import abstractmethod
|
from abc import abstractmethod, ABC
|
||||||
from searx import logger
|
from searx import logger
|
||||||
|
|
||||||
|
|
||||||
logger = logger.getChild('searx.search.processor')
|
logger = logger.getChild('searx.search.processor')
|
||||||
|
|
||||||
|
|
||||||
class EngineProcessor:
|
class EngineProcessor(ABC):
|
||||||
|
|
||||||
def __init__(self, engine, engine_name):
|
def __init__(self, engine, engine_name):
|
||||||
self.engine = engine
|
self.engine = engine
|
||||||
|
|
Loading…
Reference in New Issue