code: func (w *Worker) Shutdown() {
  	w.mu.Lock()
  	defer w.mu.Unlock()
  
  	if w.done {
  		return
  	}
  
  	log.Println("worker shutting down gracefully...")
  	w.ch <- struct{}{}
  	w.done = true
  	close(w.ch)
  }
docs: // Shutdown tells the worker to finish processing its current job and then stop.
  // There is currently no timeout for in-progress jobs. This function blocks
  // until the Worker has stopped working. It should only be called on an active
  // Worker.