[enh] stop searx when an engine raise an SyntaxError exception (#2177)
and some other exceptions:
* KeyboardInterrupt
* SystemExit
* RuntimeError
* SystemError
* ImportError: an engine with an unmet dependency will stop everything.
commit339738275446dc185e761bdc3f4714cf29d33fd8
authorAlexandre Flament <alex@al-f.net>
dateMon 7 Sep 2020, 15:39 (6 years ago)
parentf77ad22
searx/engines/__init__.py+3
@@ -74,6 +74,9 @@ def load_engine(engine_data):
7474
7575 try:
7676 engine = load_module(engine_module + '.py', engine_dir)
77+ except (SyntaxError, KeyboardInterrupt, SystemExit, SystemError, ImportError, RuntimeError) as e:
78+ logger.exception('Fatal exception in engine "{}"'.format(engine_module))
79+ sys.exit(1)
7780 except:
7881 logger.exception('Cannot load engine "{}"'.format(engine_module))
7982 return None