code: func (wp *WorkerPool) Stop() {
  	if !wp.started {
  		return
  	}
  	wp.started = false
  
  	wg := sync.WaitGroup{}
  	for _, w := range wp.workers {
  		wg.Add(1)
  		go func(w *worker) {
  			w.stop()
  			wg.Done()
  		}(w)
  	}
  	wg.Wait()
  	wp.heartbeater.stop()
  	wp.retrier.stop()
  	wp.scheduler.stop()
  	wp.deadPoolReaper.stop()
  	wp.periodicEnqueuer.stop()
  }
docs: // Stop stops the workers and associated processes.