[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 {