mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	Merge pull request #86 from searxng/remove-call-to-gc
[mod] remove gc.collect() after each user request
This commit is contained in:
		
						commit
						2f76b570ab
					
				
					 1 changed files with 6 additions and 21 deletions
				
			
		|  | @ -1,26 +1,11 @@ | |||
| ''' | ||||
| searx is free software: you can redistribute it and/or modify | ||||
| it under the terms of the GNU Affero General Public License as published by | ||||
| the Free Software Foundation, either version 3 of the License, or | ||||
| (at your option) any later version. | ||||
| 
 | ||||
| searx is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU Affero General Public License for more details. | ||||
| 
 | ||||
| You should have received a copy of the GNU Affero General Public License | ||||
| along with searx. If not, see < http://www.gnu.org/licenses/ >. | ||||
| 
 | ||||
| (C) 2013- by Adam Tauber, <asciimoo@gmail.com> | ||||
| ''' | ||||
| # SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| # lint: pylint | ||||
| # pylint: disable=missing-module-docstring, missing-function-docstring | ||||
| 
 | ||||
| import typing | ||||
| import gc | ||||
| import threading | ||||
| from timeit import default_timer | ||||
| from uuid import uuid4 | ||||
| from _thread import start_new_thread | ||||
| 
 | ||||
| from searx import settings | ||||
| from searx.answerers import ask | ||||
|  | @ -152,10 +137,11 @@ class Search: | |||
|         return requests, actual_timeout | ||||
| 
 | ||||
|     def search_multiple_requests(self, requests): | ||||
|         # pylint: disable=protected-access | ||||
|         search_id = uuid4().__str__() | ||||
| 
 | ||||
|         for engine_name, query, request_params in requests: | ||||
|             th = threading.Thread( | ||||
|             th = threading.Thread(  # pylint: disable=invalid-name | ||||
|                 target=PROCESSORS[engine_name].search, | ||||
|                 args=(query, request_params, self.result_container, self.start_time, self.actual_timeout), | ||||
|                 name=search_id, | ||||
|  | @ -164,7 +150,7 @@ class Search: | |||
|             th._engine_name = engine_name | ||||
|             th.start() | ||||
| 
 | ||||
|         for th in threading.enumerate(): | ||||
|         for th in threading.enumerate():  # pylint: disable=invalid-name | ||||
|             if th.name == search_id: | ||||
|                 remaining_time = max(0.0, self.actual_timeout - (default_timer() - self.start_time)) | ||||
|                 th.join(remaining_time) | ||||
|  | @ -182,7 +168,6 @@ class Search: | |||
|         # send all search-request | ||||
|         if requests: | ||||
|             self.search_multiple_requests(requests) | ||||
|             start_new_thread(gc.collect, tuple()) | ||||
| 
 | ||||
|         # return results, suggestions, answers and infoboxes | ||||
|         return True | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Alexandre Flament
						Alexandre Flament