From 789e46f1c8fc7ef705b0d3e9953688eacba8beaf Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Thu, 18 Dec 2014 12:07:20 +0100 Subject: [PATCH] [fix] timeout and response parsing order --- searx/search.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/searx/search.py b/searx/search.py index 22b0fedb..064f3722 100644 --- a/searx/search.py +++ b/searx/search.py @@ -69,6 +69,14 @@ def make_callback(engine_name, results_queue, callback, params): def process_callback(response, **kwargs): response.search_params = params + timeout_overhead = 0.2 # seconds + search_duration = time() - params['started'] + timeout_limit = engines[engine_name].timeout + timeout_overhead + if search_duration > timeout_limit: + engines[engine_name].stats['page_load_time'] += timeout_limit + engines[engine_name].stats['errors'] += 1 + return + # callback try: search_results = callback(response) @@ -81,14 +89,6 @@ def make_callback(engine_name, results_queue, callback, params): engine_name, str(e)) return - timeout_overhead = 0.2 # seconds - search_duration = time() - params['started'] - timeout_limit = engines[engine_name].timeout + timeout_overhead - if search_duration > timeout_limit: - engines[engine_name].stats['page_load_time'] += timeout_limit - engines[engine_name].stats['errors'] += 1 - return - # add results for result in search_results: result['engine'] = engine_name