summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-05-21 18:31:04 +0200
committerGitHub <noreply@github.com>2021-05-21 18:31:04 +0200
commit2f76b570ab4dae3b2c85aaddddc41831548b1ff8 (patch)
tree50dd9b9680772fe386af21a20411f780e587ba98
parent1ab4317f59df92d3677ce2284ff58d9be124e02f (diff)
parent6f1446d55f60a88f0710ce55fe11e9494e258e17 (diff)
Merge pull request #86 from searxng/remove-call-to-gc
[mod] remove gc.collect() after each user request
-rw-r--r--searx/search/__init__.py27
1 files changed, 6 insertions, 21 deletions
diff --git a/searx/search/__init__.py b/searx/search/__init__.py
index acc97d1e9..49a98825c 100644
--- a/searx/search/__init__.py
+++ b/searx/search/__init__.py
@@ -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