in decisionai_plugin/common/plugin_service.py [0:0]
def __init__(self, trainable=True):
config_file = environ.get('SERVICE_CONFIG_FILE')
config = load_config(config_file)
if config is None:
log.error("No configuration '%s', or the configuration is not in JSON format. " % (config_file))
exit()
self.config = config
self.tsanaclient = TSANAClient()
self.trainable = trainable
if self.trainable:
init_monitor(config)
sched.add_job(func=lambda: run_monitor(config), trigger="interval", seconds=10)
sched.start()
atexit.register(lambda: stop_monitor(config))
atexit.register(lambda: sched.shutdown())
self.training_topic = self.__class__.__name__ + '-training'
training_thread = threading.Thread(target=consume_loop, args=(self.train_wrapper, self.training_topic), daemon=True)
training_thread.start()
self.inference_topic = self.__class__.__name__ + '-inference'
inference_thread = threading.Thread(target=consume_loop, args=(self.inference_wrapper, self.inference_topic), daemon=True)
inference_thread.start()