fix(poll): fetch task before sleeping to avoid startup delay

- Reorder pollOnce to fetch first and sleep after, matching the
  original rate.Limiter burst=1 behavior where the first poll
  returns immediately
- Remove unused ReportInterval config field that was never shipped
This commit is contained in:
Bo-Yi Wu
2026-04-11 10:27:24 +08:00
parent cce2dd9b9b
commit fc4eef3e0d
2 changed files with 8 additions and 10 deletions

View File

@@ -157,17 +157,16 @@ func addJitter(d time.Duration) time.Duration {
func (p *Poller) pollOnce() {
for {
interval := addJitter(p.calculateInterval())
timer := time.NewTimer(interval)
select {
case <-timer.C:
case <-p.pollingCtx.Done():
timer.Stop()
return
}
task, ok := p.fetchTask(p.pollingCtx)
if !ok {
interval := addJitter(p.calculateInterval())
timer := time.NewTimer(interval)
select {
case <-timer.C:
case <-p.pollingCtx.Done():
timer.Stop()
return
}
continue
}