on master help sign in
[fix] timeout and response parsing order
commit789e46f1c8fc7ef705b0d3e9953688eacba8beaf authorAdam Tauber <adam.tauber@balabit.com> dateThu 18 Dec 2014, 12:07 (12 years ago) parent77c3a27
1 file changed+8−8
searx/search.py+8−8
searx/search.py+8−8
@@ -69,6 +69,14 @@ def make_callback(engine_name, results_queue, callback, params):
6969 def process_callback(response, **kwargs):
7070 response.search_params = params
7171
72+ timeout_overhead = 0.2 # seconds
73+ search_duration = time() - params['started']
74+ timeout_limit = engines[engine_name].timeout + timeout_overhead
75+ if search_duration > timeout_limit:
76+ engines[engine_name].stats['page_load_time'] += timeout_limit
77+ engines[engine_name].stats['errors'] += 1
78+ return
79+
7280 # callback
7381 try:
7482 search_results = callback(response)
@@ -81,14 +89,6 @@ def make_callback(engine_name, results_queue, callback, params):
8189 engine_name, str(e))
8290 return
8391
84− timeout_overhead = 0.2 # seconds
85− search_duration = time() - params['started']
86− timeout_limit = engines[engine_name].timeout + timeout_overhead
87− if search_duration > timeout_limit:
88− engines[engine_name].stats['page_load_time'] += timeout_limit
89− engines[engine_name].stats['errors'] += 1
90− return
91−
9292 # add results
9393 for result in search_results:
9494 result['engine'] = engine_name