Reject jobs if start time is within 24h

This commit is contained in:
Jan Eitzinger 2022-03-21 11:28:59 +01:00
parent 728e119a0b
commit 0206303d98

View File

@ -284,16 +284,19 @@ func (api *RestApi) startJob(rw http.ResponseWriter, r *http.Request) {
} }
// Check if combination of (job_id, cluster_id, start_time) already exists: // Check if combination of (job_id, cluster_id, start_time) already exists:
job, err := api.JobRepository.Find(&req.JobID, &req.Cluster, &req.StartTime) job, err := api.JobRepository.Find(&req.JobID, &req.Cluster, nil)
if err != nil && err != sql.ErrNoRows {
if err != nil {
handleError(fmt.Errorf("checking for duplicate failed: %w", err), http.StatusInternalServerError, rw) handleError(fmt.Errorf("checking for duplicate failed: %w", err), http.StatusInternalServerError, rw)
return return
} }
if err != sql.ErrNoRows { if err != sql.ErrNoRows {
if (req.StartTime - job.StartTimeUnix) < 86400 {
handleError(fmt.Errorf("a job with that jobId, cluster and startTime already exists: dbid: %d", job.ID), http.StatusUnprocessableEntity, rw) handleError(fmt.Errorf("a job with that jobId, cluster and startTime already exists: dbid: %d", job.ID), http.StatusUnprocessableEntity, rw)
return return
} }
}
id, err := api.JobRepository.Start(&req) id, err := api.JobRepository.Start(&req)
if err != nil { if err != nil {