changes for the status api according to specs 77/13777/1
authorrajdeep11 <rajdeep.sin@samsung.com>
Tue, 26 Nov 2024 06:57:27 +0000 (12:27 +0530)
committerrajdeep11 <rajdeep.sin@samsung.com>
Tue, 26 Nov 2024 06:57:27 +0000 (12:27 +0530)
Change-Id: I5911ed88331120b35fa1f1d06ad7b7d8f0d07083
Signed-off-by: rajdeep11 <rajdeep.sin@samsung.com>
trainingmgr/controller/trainingjob_controller.py
trainingmgr/service/training_job_service.py

index ee17c47..6099e88 100644 (file)
@@ -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/<int:training_job_id>/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
index 8b5a28b..b39ae2a 100644 (file)
@@ -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)}")