diff --git a/rules/manager.go b/rules/manager.go index 84eb0697e5..212c9f9e5c 100644 --- a/rules/manager.go +++ b/rules/manager.go @@ -123,7 +123,11 @@ func (g *Group) run() { defer close(g.terminated) // Wait an initial amount to have consistently slotted intervals. - time.Sleep(g.offset()) + select { + case <-time.After(g.offset()): + case <-g.done: + return + } iter := func() { start := time.Now()