on master help sign in
[enh] admin configurable suspend time of errored engines - closes #1266
f7bb45eAdam Tauber
searx/preferences.py+3−1
@@ -264,7 +264,9 @@ class Preferences(object):
264 'False': False,
264 'False': False,
265 'True': True}),
265 'True': True}),
266 'doi_resolver': MultipleChoiceSetting(['oadoi.org'], choices=DOI_RESOLVERS),
266 'doi_resolver': MultipleChoiceSetting(['oadoi.org'], choices=DOI_RESOLVERS),
267+ 'oscar-style': EnumStringSetting(
267− 'oscar-style': EnumStringSetting(settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'), choices=['', 'logicodev', 'logicodev-dark', 'pointhi']),
268+ settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'),
269+ choices=['', 'logicodev', 'logicodev-dark', 'pointhi']),
268 }
270 }
269
271
270 self.engines = EnginesSetting('engines', choices=engines)
272 self.engines = EnginesSetting('engines', choices=engines)
searx/search.py+2−1
@@ -147,7 +147,8 @@ def search_one_request_safe(engine_name, query, request_params, result_container
147 if requests_exception:
147 if requests_exception:
148 # update continuous_errors / suspend_end_time
148 # update continuous_errors / suspend_end_time
149 engine.continuous_errors += 1
149 engine.continuous_errors += 1
150− engine.suspend_end_time = time() + min(60, engine.continuous_errors)
150+ engine.suspend_end_time = time() + min(settings['search']['max_ban_time_on_fail'],
151+ engine.continuous_errors*settings['search']['ban_time_on_fail'])
151 else:
152 else:
152 # no HTTP error (perhaps an engine error)
153 # no HTTP error (perhaps an engine error)
153 # anyway, reset the suspend variables
154 # anyway, reset the suspend variables
searx/settings.yml+3−1
@@ -6,6 +6,8 @@ search:
6 safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict
6 safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict
7 autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default
7 autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default
8 language : "en-US"
8 language : "en-US"
9+ ban_time_on_fail : 5 # ban time in seconds after engine errors
10+ max_ban_time_on_fail : 120 # max ban time in seconds after engine errors
9
11
10server:
12server:
11 port : 8888
13 port : 8888
@@ -21,7 +23,7 @@ ui:
21 default_theme : oscar # ui theme
23 default_theme : oscar # ui theme
22 default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section
24 default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section
23 theme_args :
25 theme_args :
24− oscar_style : logicodev-dark # default style of oscar
26+ oscar_style : logicodev # default style of oscar
25
27
26# searx supports result proxification using an external service: https://github.com/asciimoo/morty
28# searx supports result proxification using an external service: https://github.com/asciimoo/morty
27# uncomment below section if you have running morty proxy
29# uncomment below section if you have running morty proxy