in decisionai_plugin/common/plugin_service.py [0:0]
def inference_callback(self, subscription, model_id, task_id, parameters, result, values, last_error=None):
try:
if result == STATUS_SUCCESS and values != None:
for value in values:
result, last_error = self.tsanaclient.save_data_points(parameters, value['metricId'], value['dimension'], value['timestamps'], value['values'],
value['fields'] if 'fields' in value else None, value['fieldValues'] if 'fieldValues' in value else None)
if result != STATUS_SUCCESS:
break
except Exception as e:
result = STATUS_FAIL
last_error = str(e)
raise e
finally:
if result == STATUS_SUCCESS:
self.tsanaclient.save_inference_status(task_id, parameters, InferenceState.Ready.name)
else:
self.tsanaclient.save_inference_status(task_id, parameters, InferenceState.Failed.name, last_error)
error_message = last_error + '\n' + traceback.format_exc() if result != STATUS_SUCCESS else None
log.info("Inference callback by %s, model_id = %s, task_id = %s, result = %s, last_error = %s" % (subscription, model_id, task_id, result, error_message if error_message is not None else ''))