From 2dca88494c4b0bb6d9544cabd67fbc0d2e58fd71 Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 17 May 2021 13:55:25 +0200 Subject: [PATCH] status now only updated if status has changed --- endpoints/job.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/endpoints/job.go b/endpoints/job.go index ed918fd..897c8de 100644 --- a/endpoints/job.go +++ b/endpoints/job.go @@ -111,17 +111,27 @@ func (apiHandler *BaktaJobAPI) GetJobsStatus(ctx context.Context, request *api.J err = fmt.Errorf("JobID does not match secret ID") return nil, err } - newStatus, err := apiHandler.monitor.GetJobStatus(jobID.GetJobID()) + + job, err := apiHandler.dbHandler.GetJob(jobID.GetJobID()) if err != nil { - err = fmt.Errorf("could not get updated job status") + err = fmt.Errorf("could not find job") return nil, err } - err = apiHandler.dbHandler.UpdateStatus(jobID.GetJobID(), newStatus.Status, newStatus.ErrorMsg) + + newStatus, err := apiHandler.monitor.GetJobStatus(jobID.GetJobID()) if err != nil { - err = fmt.Errorf("could not update job status") + err = fmt.Errorf("could not get updated job status") return nil, err } + if job.Status != newStatus.Status.String() { + err = apiHandler.dbHandler.UpdateStatus(jobID.GetJobID(), newStatus.Status, newStatus.ErrorMsg) + if err != nil { + err = fmt.Errorf("could not update job status") + return nil, err + } + } + jobIDs = append(jobIDs, jobID.JobID) }