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
}
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.
PerformIn performs a job after waiting for a specified amount using a goroutine .