code: func (j *Job) NextTime() int64 {
  	if !j.IsRecurring() {
  		return 0
  	}
  	// NOTE: is this the proper way to handle rescheduling?
  	// What if we schedule jobs faster than they can be executed?
  	// Should we just let them build up and expect the end user to
  	// allocate more workers? Or should we schedule for time.Now at
  	// the earliest to prevent buildup?
  	return j.time + j.freq
  }
docs: // NextTime returns the time (unix UTC with nanosecond precision) that the
  // job should execute next, if it is a recurring job, and 0 if it is not.