Lines Matching defs:cluster

22 const RoundRobinHandle = require('internal/cluster/round_robin_handle');
23 const SharedHandle = require('internal/cluster/shared_handle');
24 const Worker = require('internal/cluster/worker');
26 const { internal, sendHelper } = require('internal/cluster/utils');
27 const cluster = new EventEmitter();
32 module.exports = cluster;
35 cluster.isWorker = false;
36 cluster.isMaster = true; // Deprecated alias. Must be same as isPrimary.
37 cluster.isPrimary = true;
38 cluster.Worker = Worker;
39 cluster.workers = {};
40 cluster.settings = {};
41 cluster.SCHED_NONE = SCHED_NONE; // Leave it to the operating system.
42 cluster.SCHED_RR = SCHED_RR; // Primary distributes connections.
47 // XXX(bnoordhuis) Fold cluster.schedulingPolicy into cluster.settings?
60 cluster.schedulingPolicy = schedulingPolicy;
62 cluster.setupPrimary = function(options) {
68 ...cluster.settings,
83 cluster.settings = settings;
89 schedulingPolicy = cluster.schedulingPolicy; // Freeze policy.
91 `Bad cluster.schedulingPolicy: ${schedulingPolicy}`);
99 for (const worker of ObjectValues(cluster.workers)) {
112 cluster.setupMaster = cluster.setupPrimary;
115 cluster.emit('setup', settings);
120 const execArgv = [...cluster.settings.execArgv];
122 if (cluster.settings.inspectPort === null) {
125 if (isUsingInspector(cluster.settings.execArgv)) {
126 ArrayPrototypePush(execArgv, `--inspect-port=${getInspectPort(cluster.settings.inspectPort)}`);
129 return fork(cluster.settings.exec, cluster.settings.args, {
130 cwd: cluster.settings.cwd,
132 serialization: cluster.settings.serialization,
133 silent: cluster.settings.silent,
134 windowsHide: cluster.settings.windowsHide,
136 stdio: cluster.settings.stdio,
137 gid: cluster.settings.gid,
138 uid: cluster.settings.uid,
144 delete cluster.workers[worker.id];
146 if (ObjectKeys(cluster.workers).length === 0) {
161 cluster.fork = function(env) {
162 cluster.setupPrimary();
171 cluster.emit('message', this, message, handle);
188 cluster.emit('exit', worker, exitCode, signalCode);
210 cluster.emit('disconnect', worker);
215 cluster.workers[worker.id] = worker;
220 cluster.emit('fork', worker);
223 cluster.disconnect = function(cb) {
224 const workers = ObjectKeys(cluster.workers);
229 for (const worker of ObjectValues(cluster.workers)) {
260 cluster.emit('online', worker);
334 cluster.emit('listening', worker, info);