diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-04 21:37:09 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-04 21:37:09 +0200 |
| commit | 0bc4eaebd646e9577145be0f09ef09fb77c51f22 (patch) | |
| tree | a333dc48418041d7331545d55c1e6d271eaba312 /internal | |
| parent | 2393a41e6b9f6e5ffa7a212a1727c1a1a7bf64d9 (diff) | |
fix: replace looped time.After with reusable tickers (task 359)
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/server/continuous.go | 10 | ||||
| -rw-r--r-- | 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 |
