From cfdb9a4b6dc2d711adb5763359aa45c2a3007b5d Mon Sep 17 00:00:00 2001 From: rajdeep11 Date: Tue, 26 Nov 2024 12:27:27 +0530 Subject: [PATCH] changes for the status api according to specs Change-Id: I5911ed88331120b35fa1f1d06ad7b7d8f0d07083 Signed-off-by: rajdeep11 --- trainingmgr/controller/trainingjob_controller.py | 14 +++++++++++++- trainingmgr/service/training_job_service.py | 7 +++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/trainingmgr/controller/trainingjob_controller.py b/trainingmgr/controller/trainingjob_controller.py index ee17c47..6099e88 100644 --- a/trainingmgr/controller/trainingjob_controller.py +++ b/trainingmgr/controller/trainingjob_controller.py @@ -23,7 +23,8 @@ from marshmallow import ValidationError from trainingmgr.common.exceptions_utls import TMException from trainingmgr.common.trainingmgr_config import TrainingMgrConfig from trainingmgr.schemas.trainingjob_schema import TrainingJobSchema -from trainingmgr.service.training_job_service import delete_training_job, create_training_job, get_training_job, get_trainingjob_by_modelId, get_trainining_jobs +from trainingmgr.service.training_job_service import delete_training_job, create_training_job, get_training_job, get_trainingjob_by_modelId, get_trainining_jobs,\ +get_steps_state from trainingmgr.common.trainingmgr_util import check_key_in_dictionary from trainingmgr.common.trainingConfig_parser import validateTrainingConfig @@ -99,3 +100,14 @@ def get_trainingjobs(): def get_trainingjob(training_job_id): LOGGER.debug(f'get the trainingjob correspoinding to id: {training_job_id}') return jsonify(get_training_job(training_job_id)), 200 + +@training_job_controller.route('/training-jobs//status', methods=['GET']) +def get_trainingjob_status(training_job_id): + LOGGER.debug(f'request to get the training_job status of {training_job_id}') + try: + status = get_steps_state(training_job_id) + return jsonify(json.loads(status)), 200 + except Exception as err: + return jsonify({ + 'message': str(e) + }), 500 \ No newline at end of file diff --git a/trainingmgr/service/training_job_service.py b/trainingmgr/service/training_job_service.py index 8b5a28b..b39ae2a 100644 --- a/trainingmgr/service/training_job_service.py +++ b/trainingmgr/service/training_job_service.py @@ -65,4 +65,11 @@ def get_trainingjob_by_modelId(model_id): except Exception as err: raise DBException(f"get_trainingjob_by_modelId failed with exception : {str(err)}") + +def get_steps_state(trainingjob_id): + try: + trainingjob = get_trainingjob(trainingjob_id) + return trainingjob.steps_state.states + except Exception as err: + raise DBException(f"get failed to get the status with exception : {str(err)}") -- 2.16.6