From 0bc4eaebd646e9577145be0f09ef09fb77c51f22 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 4 Mar 2026 21:37:09 +0200 Subject: fix: replace looped time.After with reusable tickers (task 359) --- internal/server/continuous.go | 10 +++++++--- internal/server/scheduler.go | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/server/continuous.go b/internal/server/continuous.go index 90e5f8a..3178240 100644 --- a/internal/server/continuous.go +++ b/internal/server/continuous.go @@ -35,10 +35,12 @@ func (c *continuous) runJobs(ctx context.Context) { } go func(job config.Continuous) { c.runJob(ctx, job) + retryTicker := time.NewTicker(time.Minute) + defer retryTicker.Stop() for { select { - // Retry after a minute - case <-time.After(time.Minute): + // Retry after a minute. + case <-retryTicker.C: c.runJob(ctx, job) case <-ctx.Done(): return @@ -98,9 +100,11 @@ func (c *continuous) runJob(ctx context.Context, job config.Continuous) { func (c *continuous) waitForDayChange(ctx context.Context) bool { startTime := time.Now() + checkTicker := time.NewTicker(time.Second) + defer checkTicker.Stop() for { select { - case <-time.After(time.Second): + case <-checkTicker.C: if time.Now().Day() != startTime.Day() { return true } diff --git a/internal/server/scheduler.go b/internal/server/scheduler.go index b8ccd9b..abfe257 100644 --- a/internal/server/scheduler.go +++ b/internal/server/scheduler.go @@ -29,9 +29,11 @@ func (s *scheduler) start(ctx context.Context) { // First run after just 10s! time.Sleep(time.Second * 2) s.runJobs(ctx) + runTicker := time.NewTicker(time.Minute) + defer runTicker.Stop() for { select { - case <-time.After(time.Minute): + case <-runTicker.C: s.runJobs(ctx) case <-ctx.Done(): return -- cgit v1.2.3