code: func (j *Job) run() (result []reflect.Value, err error) {
  	f := reflect.ValueOf(j.funcs[j.jobFunc])
  	params := j.fparams[j.jobFunc]
  	if len(params) != f.Type().NumIn() {
  		err = errors.New("the number of param is not adapted")
  		return
  	}
  	in := make([]reflect.Value, len(params))
  	for k, param := range params {
  		in[k] = reflect.ValueOf(param)
  	}
  	result = f.Call(in)
  	j.lastRun = time.Now()
  	j.scheduleNextRun()
  	return
  }
docs: //Run the job and immediately reschedule it