// NewSender creates a new periodic worker that sends metrics // to a collection service. func NewSender(client metricsmanager.MetricsManagerClient) worker.Worker { f := func(stopCh <-chan struct{}) error { err := client.SendMetrics() if err != nil { senderLogger.Warningf("failed to send metrics %v - will retry later", err) return nil } select { case notify <- "senderCalled": default: } return nil } return worker.NewPeriodicWorker(f, senderPeriod, worker.NewTimer) }