code: func (w *Worker) Work() {
  	for {
  		select {
  		case <-w.ch:
  			log.Println("worker done")
  			return
  		case <-time.After(w.Interval):
  			for {
  				if didWork := w.WorkOne(); !didWork {
  					break // didn't do any work, go back to sleep
  				}
  			}
  		}
  	}
  }
docs: // Work pulls jobs off the Worker's Queue at its Interval. This function only
  // returns after Shutdown() is called, so it should be run in its own goroutine.