code: function kick(job) {
  
    let result = {};
  
    async.eachSeries(job.step, (step, next) => {
  
      // 指定了类
      if (step.type === 'action') {
        const inject = helper.resolve(constant.PATH_CONTROLLER + step.class);
        if (inject) {
          const func = inject[step.action];
          if (func) {
  
            log.debug(`run step : ${step.class}#${step.action}`);
            return func.call(this, step, (err, data) => {
              result[job.id] = data;
              next(err);
            });
          }
        }
      }
  
      // 指定了脚本
      if (step.type === 'script') {
        log.debug(`run step : ${step.script}`);
        return exec(step.script,  (err, stdout) => {
          result[job.id] = stdout;
          next(err);
        });
      }
  
      result[job.id] = {};
      next();
    }, err => emitter.emit(job.id, err, result));
  }
docs: 执行脚本或调用指定Class的指定Action
  @param job