func (n *Manager) Run(tsets <-chan map[string][]*targetgroup.Group) {

	for {
		select {
		case <-n.ctx.Done():
			return
		case ts := <-tsets:
			n.reload(ts)
		case <-n.more:
		}
		alerts := n.nextBatch()

		if !n.sendAll(alerts...) {
			n.metrics.dropped.Add(float64(len(alerts)))
		}
		// If the queue still has items left, kick off the next iteration.
		if n.queueLen() > 0 {
			n.setMore()
		}
	}
}
func (n *Manager) Run(tsets <-chan map[string][]*targetgroup.Group) {

	for {
		select {
		case <-n.ctx.Done():
			return
		case ts := <-tsets:
			n.reload(ts)
		case <-n.more:
		}
		alerts := n.nextBatch()

		if !n.sendAll(alerts...) {
			n.metrics.dropped.Add(float64(len(alerts)))
		}
		
		if n.queueLen() > 0 {
			n.setMore()
		}
	}
}
func ( n * Manager ) Run ( tsets <- chan map [ string ] [ ] * targetgroup . Group ) { for { select { case <- n . ctx . Done ( ) : return case ts := <- tsets : n . reload ( ts ) case <- n . more : } alerts := n . nextBatch ( ) if ! n . sendAll ( alerts ... ) { n . metrics . dropped . Add ( float64 ( len ( alerts ) ) ) } // If the queue still has items left, kick off the next iteration. if n . queueLen ( ) > 0 { n . setMore ( ) } } }
// Run dispatches notifications continuously.
Run dispatches notifications continuously .