mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-12 16:44:05 -08:00
Terminate rule groups during initial sleep
When an evaluation group runs initially, it waits a deterministic amount of time. During that time it also has to accept a termination singnal so shutdown doesn't hang during the first evaluation iteration after a configuration reload. Fixes #1307
This commit is contained in:
parent
26eb3ac2f8
commit
6eee86dce8
|
@ -123,7 +123,11 @@ func (g *Group) run() {
|
||||||
defer close(g.terminated)
|
defer close(g.terminated)
|
||||||
|
|
||||||
// Wait an initial amount to have consistently slotted intervals.
|
// 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() {
|
iter := func() {
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
|
|
Loading…
Reference in a new issue