error handling of get trainingjob 82/13782/1
authorrajdeep11 <rajdeep.sin@samsung.com>
Tue, 26 Nov 2024 10:08:57 +0000 (15:38 +0530)
committerrajdeep11 <rajdeep.sin@samsung.com>
Tue, 26 Nov 2024 10:08:57 +0000 (15:38 +0530)
Change-Id: I1aec8903e6555462f6c6d3c99448c387a77fba21
Signed-off-by: rajdeep11 <rajdeep.sin@samsung.com>
trainingmgr/controller/trainingjob_controller.py
trainingmgr/db/trainingjob_db.py
trainingmgr/service/training_job_service.py

index 6099e88..a7399b1 100644 (file)
@@ -93,13 +93,31 @@ def create_trainingjob():
 @training_job_controller.route('/training-jobs/', methods=['GET'])
 def get_trainingjobs():
     LOGGER.debug(f'get the trainingjobs')
-    resp = get_trainining_jobs()
-    return jsonify(resp), 200
+    try:
+        resp = get_trainining_jobs()
+        return jsonify(resp), 200
+    except TMException as err:
+        return jsonify({
+            'message': str(err)
+        }), 400
+    except Exception as e:
+        return jsonify({
+            'message': str(e)
+        }), 500
 
 @training_job_controller.route('/training-jobs/<int:training_job_id>', methods=['GET'])
 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
+    try:
+        return jsonify(get_training_job(training_job_id)), 200
+    except TMException as err:
+        return jsonify({
+            'message': str(err)
+        }), 400
+    except Exception as e:
+        return jsonify({
+            'message': str(e)
+        }), 500
 
 @training_job_controller.route('/training-jobs/<int:training_job_id>/status', methods=['GET'])
 def get_trainingjob_status(training_job_id):
index 40500b2..a39ff55 100644 (file)
@@ -25,7 +25,7 @@ from trainingmgr.models import db, TrainingJob, TrainingJobStatus, ModelID
 from trainingmgr.constants.steps import Steps
 from trainingmgr.constants.states import States
 from sqlalchemy.sql import func
-from sqlalchemy.orm.exc import NoResultFound
+from sqlalchemy.exc import NoResultFound
 
 
 
@@ -345,12 +345,14 @@ def delete_trainingjob_by_id(id: int):
 
 def get_trainingjob(id: int=None):
     if id is not None:
-        tj = TrainingJob.query.filter(TrainingJob.id==id).one()
-        return tj
+        try:
+            tj = TrainingJob.query.filter(TrainingJob.id==id).one()
+            return tj
+        except NoResultFound as err:
+            raise DBException(f"Failed to get trainingjob by id: {id} due to {str(err)}")
     else:
         tjs = TrainingJob.query.all()
         return tjs
-    return tj
 
 def get_trainingjob_by_modelId_db(model_id):
     try:
index b39ae2a..5594f4f 100644 (file)
@@ -23,13 +23,19 @@ trainingJobSchema = TrainingJobSchema()
 trainingJobsSchema = TrainingJobSchema(many=True)
 
 def get_training_job(training_job_id: int):
-    tj =get_trainingjob(training_job_id)
-    return trainingJobSchema.dump(tj)
+    try:
+        tj =get_trainingjob(training_job_id)
+        return trainingJobSchema.dump(tj)
+    except DBException as err:
+        raise TMException(f"get_training_job by id failed with exception : {str(err)}")
 
 def get_trainining_jobs():
-    tjs = get_trainingjob()
-    result = trainingJobsSchema.dump(tjs)
-    return result
+    try:
+        tjs = get_trainingjob()
+        result = trainingJobsSchema.dump(tjs)
+        return result
+    except DBException as err:
+        raise TMException(f"get_training_jobs failed with exception : {str(err)}")
 
 def create_training_job(trainingjob):
     try: