From be8dda0f2a14a3bcad56f644f3ba360a0a3dc30b Mon Sep 17 00:00:00 2001 From: rajdeep11 Date: Tue, 26 Nov 2024 15:38:57 +0530 Subject: [PATCH] error handling of get trainingjob Change-Id: I1aec8903e6555462f6c6d3c99448c387a77fba21 Signed-off-by: rajdeep11 --- trainingmgr/controller/trainingjob_controller.py | 24 +++++++++++++++++++++--- trainingmgr/db/trainingjob_db.py | 10 ++++++---- trainingmgr/service/training_job_service.py | 16 +++++++++++----- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/trainingmgr/controller/trainingjob_controller.py b/trainingmgr/controller/trainingjob_controller.py index 6099e88..a7399b1 100644 --- a/trainingmgr/controller/trainingjob_controller.py +++ b/trainingmgr/controller/trainingjob_controller.py @@ -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/', 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//status', methods=['GET']) def get_trainingjob_status(training_job_id): diff --git a/trainingmgr/db/trainingjob_db.py b/trainingmgr/db/trainingjob_db.py index 40500b2..a39ff55 100644 --- a/trainingmgr/db/trainingjob_db.py +++ b/trainingmgr/db/trainingjob_db.py @@ -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: diff --git a/trainingmgr/service/training_job_service.py b/trainingmgr/service/training_job_service.py index b39ae2a..5594f4f 100644 --- a/trainingmgr/service/training_job_service.py +++ b/trainingmgr/service/training_job_service.py @@ -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: -- 2.16.6