From 2b6f3ece6bf0d3e1c4949452a9a3e55e3f671020 Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Sat, 1 Jul 2017 20:32:56 +0200 Subject: [PATCH] jobrun: fix timing issue and minor printing issues Would add offset by 1 sec (possibly to avoid being scheduled just a little bit too early). Turns out this leads to delays for jobs with interval < 2s :) --- jobrun/jobrun.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/jobrun/jobrun.go b/jobrun/jobrun.go index 0100e34..2207ad7 100644 --- a/jobrun/jobrun.go +++ b/jobrun/jobrun.go @@ -102,7 +102,7 @@ loop: dueTime, resched := finishedJob.RepeatStrategy.ShouldReschedule(res) if resched { - r.logger.Printf("[%s] rescheduling to %s", dueTime) + r.logger.Printf("[%s] rescheduling to %s", finishedJob.Name, dueTime) finishedJob.DueAt = dueTime r.pending[finishedJob.Name] = finishedJob } @@ -125,7 +125,7 @@ loop: for jobName, job := range r.pending { - if job.DueAt.After(time.Now()) { + if job.DueAt.After(now) { if job.DueAt.Before(nextJobDue) { nextJobDue = job.DueAt } @@ -150,7 +150,6 @@ loop: } if jobPending || len(r.running) > 0 { - nextJobDue = nextJobDue.Add(time.Second).Round(time.Second) r.logger.Printf("waiting until %v\n", nextJobDue) r.scheduleTimer = time.After(nextJobDue.Sub(now)) goto loop