[task scheduler] Ignore try/forced jobs when triggering periodic jobs
Today there was an alert because the nightly job
Housekeeper-Nightly-RecreateSKPs_Canary hadn't run last night. The
reason was that MaybeTriggerPeriodicJobs found an existing Job that had
already been completed. However, this was a try job, so it shouldn't
have prevented triggering a new nightly job.
Change-Id: I60f7d2ea6329142e1df4a65b025426ffcd583237
Reviewed-on: https://skia-review.googlesource.com/c/184489
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
diff --git a/datahopper/go/datahopper/jobs.go b/datahopper/go/datahopper/jobs.go
index 0282c66..cab1df9 100644
--- a/datahopper/go/datahopper/jobs.go
+++ b/datahopper/go/datahopper/jobs.go
@@ -508,7 +508,7 @@
}
latest := time.Time{}
for _, job := range jobs {
- if job.Created.After(latest) {
+ if !job.IsTryJob() && !job.IsForce && job.Created.After(latest) {
latest = job.Created
}
}
diff --git a/task_scheduler/go/scheduling/task_scheduler.go b/task_scheduler/go/scheduling/task_scheduler.go
index d870212..8c0bf72 100644
--- a/task_scheduler/go/scheduling/task_scheduler.go
+++ b/task_scheduler/go/scheduling/task_scheduler.go
@@ -345,12 +345,18 @@
}
jobsToInsert := make([]*types.Job, 0, len(jobs))
for _, job := range jobs {
- existingJobs := existing[job.Name]
- if len(existingJobs) == 0 {
+ var prev *types.Job = nil
+ for _, existingJob := range existing[job.Name] {
+ if !existingJob.IsTryJob() && !existingJob.IsForce {
+ // Pick an arbitrary pre-existing job for logging.
+ prev = existingJob
+ break
+ }
+ }
+ if prev == nil {
jobsToInsert = append(jobsToInsert, job)
} else {
- prev := existingJobs[0] // Pick an arbitrary pre-existing job for logging.
- sklog.Warningf("Already triggered %d jobs for %s (eg. id %s at %s); not triggering again.", len(existingJobs), job.Name, prev.Id, prev.Created)
+ sklog.Warningf("Already triggered a job for %s (eg. id %s at %s); not triggering again.", job.Name, prev.Id, prev.Created)
}
}
if len(jobsToInsert) == 0 {