浏览代码

[fix] timeout and response parsing order

Adam Tauber 10 年前
父节点
当前提交
789e46f1c8
共有 1 个文件被更改,包括 8 次插入8 次删除
  1. 8
    8
      searx/search.py

+ 8
- 8
searx/search.py 查看文件

@@ -69,6 +69,14 @@ def make_callback(engine_name, results_queue, callback, params):
69 69
     def process_callback(response, **kwargs):
70 70
         response.search_params = params
71 71
 
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
+
72 80
         # callback
73 81
         try:
74 82
             search_results = callback(response)
@@ -81,14 +89,6 @@ def make_callback(engine_name, results_queue, callback, params):
81 89
                 engine_name, str(e))
82 90
             return
83 91
 
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
-
92 92
         # add results
93 93
         for result in search_results:
94 94
             result['engine'] = engine_name