func (c *Controller) Run(stopChan <-chan struct{}) {
	ticker := time.NewTicker(c.Interval)
	defer ticker.Stop()
	for {
		err := c.RunOnce()
		if err != nil {
			log.Error(err)
		}
		select {
		case <-ticker.C:
		case <-stopChan:
			log.Info("Terminating main controller loop")
			return
		}
	}
}
func (c *Controller) Run(stopChan <-chan struct{}) {
	ticker := time.NewTicker(c.Interval)
	defer ticker.Stop()
	for {
		err := c.RunOnce()
		if err != nil {
			log.Error(err)
		}
		select {
		case <-ticker.C:
		case <-stopChan:
			log.Info("Terminating main controller loop")
			return
		}
	}
}
func ( c * Controller ) Run ( stopChan <- chan struct { } ) { ticker := time . NewTicker ( c . Interval ) defer ticker . Stop ( ) for { err := c . RunOnce ( ) if err != nil { log . Error ( err ) } select { case <- ticker . C : case <- stopChan : log . Info ( " " ) return } } }
// Run runs RunOnce in a loop with a delay until stopChan receives a value.
Run runs RunOnce in a loop with a delay until stopChan receives a value .