code: function Pool (path, args, options, settings) {
      _.defaults(settings, {
          name:       'fork-pool',
          size:       require('os').cpus().length,
          log:        false,
          timeout:    30000,
          debug:		false,
          debugPort:	process.debugPort	// Default debugging port for the main process. Skip from here.
      });
  
      //
  
      this.pool       = generic.Pool({
          settings: settings,
          name: settings.name,
          create: function (callback) {
              var debugArgIdx = process.execArgv.indexOf('--debug');
              if (debugArgIdx !== -1) {
                  // Remove debugging from process before forking
                  process.execArgv.splice(debugArgIdx, 1);
              }
              if (this.settings.debug) {
                  // Optionally set an unused port number if you want to debug the children.
                  // This only works if idle processes stay alive (long timeout), or you will run out of ports eventually.
                  process.execArgv.push('--debug=' + (++this.settings.debugPort));
              }
              var childNode = childProcess.fork(path, args, options);
              callback(null, childNode);
          },
          destroy: function (client) {
              client.kill();
          },
          max: settings.size,
          min: settings.size - 1,
          idleTimeoutMillis: settings.timeout,
          log: settings.log
      });
  }
docs: Constructor