[mod] searx.search: change function declaration: online then offline then utility functions.
This commit is contained in:
		
							parent
							
								
									50e717c452
								
							
						
					
					
						commit
						e8df5d3f7f
					
				| @ -97,48 +97,6 @@ def search_one_http_request(engine, query, request_params): | ||||
|     return engine.response(response) | ||||
| 
 | ||||
| 
 | ||||
| def search_one_offline_request(engine, query, request_params): | ||||
|     return engine.search(query, request_params) | ||||
| 
 | ||||
| 
 | ||||
| def search_one_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit): | ||||
|     if engines[engine_name].offline: | ||||
|         return search_one_offline_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit)  # noqa | ||||
|     return search_one_http_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit) | ||||
| 
 | ||||
| 
 | ||||
| def search_one_offline_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit): | ||||
|     engine = engines[engine_name] | ||||
| 
 | ||||
|     try: | ||||
|         search_results = search_one_offline_request(engine, query, request_params) | ||||
| 
 | ||||
|         if search_results: | ||||
|             result_container.extend(engine_name, search_results) | ||||
| 
 | ||||
|             engine_time = time() - start_time | ||||
|             result_container.add_timing(engine_name, engine_time, engine_time) | ||||
|             with threading.RLock(): | ||||
|                 engine.stats['engine_time'] += engine_time | ||||
|                 engine.stats['engine_time_count'] += 1 | ||||
| 
 | ||||
|     except ValueError as e: | ||||
|         record_offline_engine_stats_on_error(engine, result_container, start_time) | ||||
|         logger.exception('engine {0} : invalid input : {1}'.format(engine_name, e)) | ||||
|     except Exception as e: | ||||
|         record_offline_engine_stats_on_error(engine, result_container, start_time) | ||||
|         result_container.add_unresponsive_engine(engine_name, 'unexpected crash', str(e)) | ||||
|         logger.exception('engine {0} : exception : {1}'.format(engine_name, e)) | ||||
| 
 | ||||
| 
 | ||||
| def record_offline_engine_stats_on_error(engine, result_container, start_time): | ||||
|     engine_time = time() - start_time | ||||
|     result_container.add_timing(engine.name, engine_time, engine_time) | ||||
| 
 | ||||
|     with threading.RLock(): | ||||
|         engine.stats['errors'] += 1 | ||||
| 
 | ||||
| 
 | ||||
| def search_one_http_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit): | ||||
|     # set timeout for all HTTP requests | ||||
|     requests_lib.set_timeout_for_thread(timeout_limit, start_time=start_time) | ||||
| @ -214,6 +172,48 @@ def search_one_http_request_safe(engine_name, query, request_params, result_cont | ||||
|             engine.suspend_end_time = 0 | ||||
| 
 | ||||
| 
 | ||||
| def record_offline_engine_stats_on_error(engine, result_container, start_time): | ||||
|     engine_time = time() - start_time | ||||
|     result_container.add_timing(engine.name, engine_time, engine_time) | ||||
| 
 | ||||
|     with threading.RLock(): | ||||
|         engine.stats['errors'] += 1 | ||||
| 
 | ||||
| 
 | ||||
| def search_one_offline_request(engine, query, request_params): | ||||
|     return engine.search(query, request_params) | ||||
| 
 | ||||
| 
 | ||||
| def search_one_offline_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit): | ||||
|     engine = engines[engine_name] | ||||
| 
 | ||||
|     try: | ||||
|         search_results = search_one_offline_request(engine, query, request_params) | ||||
| 
 | ||||
|         if search_results: | ||||
|             result_container.extend(engine_name, search_results) | ||||
| 
 | ||||
|             engine_time = time() - start_time | ||||
|             result_container.add_timing(engine_name, engine_time, engine_time) | ||||
|             with threading.RLock(): | ||||
|                 engine.stats['engine_time'] += engine_time | ||||
|                 engine.stats['engine_time_count'] += 1 | ||||
| 
 | ||||
|     except ValueError as e: | ||||
|         record_offline_engine_stats_on_error(engine, result_container, start_time) | ||||
|         logger.exception('engine {0} : invalid input : {1}'.format(engine_name, e)) | ||||
|     except Exception as e: | ||||
|         record_offline_engine_stats_on_error(engine, result_container, start_time) | ||||
|         result_container.add_unresponsive_engine(engine_name, 'unexpected crash', str(e)) | ||||
|         logger.exception('engine {0} : exception : {1}'.format(engine_name, e)) | ||||
| 
 | ||||
| 
 | ||||
| def search_one_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit): | ||||
|     if engines[engine_name].offline: | ||||
|         return search_one_offline_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit)  # noqa | ||||
|     return search_one_http_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit) | ||||
| 
 | ||||
| 
 | ||||
| def search_multiple_requests(requests, result_container, start_time, timeout_limit): | ||||
|     search_id = uuid4().__str__() | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Alexandre Flament
						Alexandre Flament