cluster.setupMaster([settings])


用于修改默认'fork' 行为。一旦调用,将会按照cluster.settings进行设置。

注意:

  • 所有的设置只对后来的 .fork()调用有效,对之前的工作进程无影响。
  • 唯一无法通过 .setupMaster()设置的属性是传递给.fork()env属性。
  • 上述的默认值只在第一次调用时有效,当后续调用时,将采用cluster.setupMaster()调用时的当前值。

例子:

const cluster = require('cluster');
cluster.setupMaster({
  exec: 'worker.js',
  args: ['--use', 'https'],
  silent: true
});
cluster.fork(); // https worker
cluster.setupMaster({
  exec: 'worker.js',
  args: ['--use', 'http']
});
cluster.fork(); // http worker

只能由主进程调用。

setupMaster is used to change the default 'fork' behavior. Once called, the settings will be present in cluster.settings.

Note that:

  • Any settings changes only affect future calls to .fork() and have no effect on workers that are already running.
  • The only attribute of a worker that cannot be set via .setupMaster() is the env passed to .fork().
  • The defaults above apply to the first call only, the defaults for later calls is the current value at the time of cluster.setupMaster() is called.
const cluster = require('cluster');
cluster.setupMaster({
  exec: 'worker.js',
  args: ['--use', 'https'],
  silent: true
});
cluster.fork(); // https worker
cluster.setupMaster({
  exec: 'worker.js',
  args: ['--use', 'http']
});
cluster.fork(); // http worker

This can only be called from the master process.