@@ -16,8 +16,9 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
16(C) 2013- by Adam Tauber, <asciimoo@gmail.com>
16(C) 2013- by Adam Tauber, <asciimoo@gmail.com>
19−from os.path import realpath, dirname
21+from os.path import realpath, dirname
21from flask_babel import gettext
22from flask_babel import gettext
22from operator import itemgetter
23from operator import itemgetter
23from json import loads
24from json import loads
@@ -84,6 +85,14 @@ def load_engine(engine_data):
84 for engine_attr in dir(engine):
85 for engine_attr in dir(engine):
85 if engine_attr.startswith('_'):
86 if engine_attr.startswith('_'):
88+ if engine_attr == 'init':
89+ init_fn = getattr(engine, engine_attr)
92+ logger.debug('%s engine initialized', engine_data['name'])
93+ logger.debug('Starting background initialization of %s engine', engine_data['name'])
94+ threading.Thread(target=engine_init).start()
87 if getattr(engine, engine_attr) is None:
96 if getattr(engine, engine_attr) is None:
88 logger.error('Missing engine config attribute: "{0}.{1}"'
97 logger.error('Missing engine config attribute: "{0}.{1}"'
89 .format(engine.name, engine_attr))
98 .format(engine.name, engine_attr))