Add error handling to stop job

This commit is contained in:
Jan Eitzinger 2022-02-15 11:33:59 +01:00
parent 9047c69fa6
commit b0403da93b
2 changed files with 7 additions and 5 deletions

View File

@ -339,10 +339,13 @@ func (api *RestApi) stopJob(rw http.ResponseWriter, r *http.Request) {
}
}
api.JobRepository.Stop(job.ID, job.Duration, req.State)
err = api.JobRepository.Stop(job.ID, job.Duration, req.State)
job.State = req.State
rw.Header().Add("Content-Type", "application/json")
rw.WriteHeader(http.StatusOK)
json.NewEncoder(rw).Encode(job)
handleError(fmt.Errorf("Stop job (dbid: %d) failed: %s", job.ID, err.Error()), http.StatusInternalServerError, rw)
// handleError(fmt.Errorf("archiving failed: %w", err), http.StatusInternalServerError, rw)
}
func (api *RestApi) getJobMetrics(rw http.ResponseWriter, r *http.Request) {

View File

@ -78,16 +78,15 @@ func (r *JobRepository) Start(job *schema.JobMeta) (id int64, err error) {
func (r *JobRepository) Stop(
jobId int64,
duration int32,
state schema.JobState) {
state schema.JobState) (err error) {
stmt := sq.Update("job").
Set("job_state", state).
Set("duration", duration).
Where("job.id = ?", jobId)
if _, err := stmt.RunWith(r.DB).Exec(); err != nil {
log.Errorf("Stop job (dbid: %d) failed: %s", jobId, err.Error())
}
_, err = stmt.RunWith(r.DB).Exec()
return
}
// Stop updates the job with the database id jobId using the provided arguments.