func()

in pkg/discovery/discovery.go [67:84]


func (d *discovery) Run(ctx context.Context, ch chan<- []*targetgroup.Group) {
	level.Info(d.logger).Log("msg", "Inside Run", "refreshInterval", d.refreshInterval)
	for c := time.Tick(d.refreshInterval); ; {
		tgs, err := d.refresh(ctx)
		if err != nil {
			level.Error(d.logger).Log("msg", "Error in refresh loop", "err", err)
		} else {
			ch <- tgs
		}
		// Wait for ticker or exit when ctx is closed.
		select {
		case <-c:
			continue
		case <-ctx.Done():
			return
		}
	}
}