def inference_callback()

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 ''))