func (s *Scheduler) RunPutJobs() { log := logger.New("fn", "RunPutJobs") log.Info("starting job persistence loop") strategy := attempt.Strategy{Delay: 100 * time.Millisecond, Total: time.Minute} for job := range s.putJobs { err := strategy.RunWithValidator(func() error { return s.PutJob(job) }, httphelper.IsRetryableError) if err != nil { log.Error("error persisting job", "job.id", job.ID, "job.state", job.State, "err", err) } } log.Info("stopping job persistence loop") }