in decisionai_plugin/common/plugin_service.py [0:0]
def state(self, request, model_id):
if not self.trainable:
return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_SUCCESS, message='Model is not trainable', modelState=ModelState.Ready.name)), 200)
try:
subscription = request.headers.get('apim-subscription-id', 'Official')
request_body = json.loads(request.data)
request_body[INSTANCE_ID_KEY] = subscription
meta = get_meta(self.config, subscription, model_id)
if meta == None:
return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_FAIL, message='Model is not found!', modelState=ModelState.Deleted.name)), 400)
meta = clear_state_when_necessary(self.config, subscription, model_id, meta)
return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_SUCCESS, message=meta['last_error'] if 'last_error' in meta else '', modelState=meta['state'])), 200)
except Exception as e:
error_message = str(e)
log.error("Get model state failed! subscription = %s, model_id = %s, last_error = %s" % (subscription, model_id, error_message + '\n' + traceback.format_exc()))
return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_FAIL, message=error_message, modelState=ModelState.Failed.name)), 400)