// NewCleanup creates a new periodic worker that calls the CleanupOldMetrics api. func newCleanup(client metricsmanager.MetricsManagerClient, notify chan string) worker.Worker { f := func(stopCh <-chan struct{}) error { err := client.CleanupOldMetrics() if err != nil { cleanupLogger.Warningf("failed to cleanup %v - will retry later", err) return nil } select { case notify <- "cleanupCalled": default: } return nil } return worker.NewPeriodicWorker(f, cleanupPeriod, worker.NewTimer) }