diff --git a/judge/prome_pull.go b/judge/prome_pull.go index 5232e0b8..9c57444d 100644 --- a/judge/prome_pull.go +++ b/judge/prome_pull.go @@ -47,13 +47,16 @@ func (re RuleEval) start() { if re.R.PullExpr.EvaluationInterval <= 0 { re.R.PullExpr.EvaluationInterval = DEFAULT_PULL_ALERT_INTERVAL } + + sleepDuration := time.Duration(re.R.PullExpr.EvaluationInterval) * time.Second + for { select { case <-re.ctx.Done(): return case <-re.quiteChan: return - case <-time.After(time.Duration(re.R.PullExpr.EvaluationInterval) * time.Second): + default: } // 获取backend的prometheus DataSource @@ -67,8 +70,9 @@ func (re RuleEval) start() { promVector := pb.QueryVector(re.R.PullExpr.PromQl) handlePromqlVector(promVector, re.R) - } + time.Sleep(sleepDuration) + } }(re) }