worker/simple.go
func (w Simple) PerformIn(job Job, d time.Duration) error {
	go func() {
		select {
		case <-time.After(d):
			w.Perform(job)
		case <-w.ctx.Done():
			w.cancel()
		}
	}()
	return nil
}
func (w Simple) PerformIn(job Job, d time.Duration) error {
	go func() {
		select {
		case <-time.After(d):
			w.Perform(job)
		case <-w.ctx.Done():
			w.cancel()
		}
	}()
	return nil
}
// PerformIn performs a job after waiting for a specified amount
// using a goroutine.