code: function (cb) {
        var cmd = params.main.cmd;
        var cmdStr = runner.cmdStr;
        var opts = _.extend({ tracker: self._tracker }, params.main.opts);
        var taskEnvs = clone(envsList);
        var queue = opts.queue;
  
        log.debug("envs", "Starting with queue size: " + chalk.magenta(queue || "unlimited"));
        async.mapLimit(taskEnvs, queue || Infinity, function (taskEnv, envCb) {
          // Add each specific set of environment variables.
          // Clone `shOpts` to turn `env` into a plain object: in Node 4+
          // `process.env` is a special object which changes merge behavior.
          var taskShOpts = _.merge(clone(shOpts), { env: taskEnv });
          var taskOpts = _.extend({ taskEnv: taskEnv }, opts);
  
          log.info("envs", "Starting " + cmdStr(cmd, taskOpts));
          runner.retry(cmd, taskShOpts, taskOpts, self._errOrBail(taskOpts, envCb));
        }, cb);
      }
docs: Execute `<task>` w/ each env var.