def train_callback()

in decisionai_plugin/common/plugin_service.py [0:0]


    def train_callback(self, subscription, model_id, task_id, model_dir, parameters, model_state, last_error=None):
        try:
            meta = get_meta(self.config, subscription, model_id)
            if meta is None or meta['state'] == ModelState.Deleted.name:
                return STATUS_FAIL, 'Model is not found! '

            if model_state == ModelState.Ready:
                result, message = upload_model(self.config, subscription, model_id, model_dir)
                if result != STATUS_SUCCESS:
                    model_state = ModelState.Failed
                    last_error = 'Model storage failed! ' + message
        except Exception as e:
            model_state = ModelState.Failed
            last_error = str(e)
            raise e
        finally:
            update_state(self.config, subscription, model_id, model_state, None, last_error)
            self.tsanaclient.save_training_status(task_id, parameters, model_state.name, last_error)
            self.tsanaclient.save_training_result(parameters, model_id, model_state.name, last_error)
            error_message = last_error + '\n' + traceback.format_exc() if model_state != ModelState.Ready else None
            log.info("Training callback by %s, model_id = %s, task_id = %s, state = %s, last_error = %s" % (subscription, model_id, task_id, model_state, error_message if error_message is not None else ''))