cluster: Rename 'death' back to 'exit'
This commit is contained in:
parent
407181538b
commit
90ce5b3d41
@ -19,7 +19,7 @@ all share server ports.
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
cluster.on('death', function(worker) {
|
||||
cluster.on('exit', function(worker) {
|
||||
console.log('worker ' + worker.pid + ' died');
|
||||
});
|
||||
} else {
|
||||
@ -87,7 +87,7 @@ This can be used to log worker activity, and create you own timeout.
|
||||
cluster.on('listening', function (worker) {
|
||||
clearTimeout(timeouts[worker.uniqueID]);
|
||||
});
|
||||
cluster.on('death', function (worker) {
|
||||
cluster.on('exit', function (worker) {
|
||||
clearTimeout(timeouts[worker.uniqueID]);
|
||||
errorMsg();
|
||||
});
|
||||
@ -126,7 +126,7 @@ When a workers IPC channel has disconnected this event is emitted. This will hap
|
||||
when the worker dies, usually after calling `.destroy()`.
|
||||
|
||||
When calling `.disconnect()`, there may be a delay between the
|
||||
`disconnect` and `death` events. This event can be used to detect if
|
||||
`disconnect` and `exit` events. This event can be used to detect if
|
||||
the process is stuck in a cleanup or if there are long-living
|
||||
connections.
|
||||
|
||||
@ -134,14 +134,14 @@ connections.
|
||||
console.log('The worker #' + worker.uniqueID + ' has disconnected');
|
||||
});
|
||||
|
||||
## Event: 'death'
|
||||
## Event: 'exit'
|
||||
|
||||
* `worker` {Worker object}
|
||||
|
||||
When any of the workers die the cluster module will emit the 'death' event.
|
||||
When any of the workers die the cluster module will emit the 'exit' event.
|
||||
This can be used to restart the worker by calling `fork()` again.
|
||||
|
||||
cluster.on('death', function(worker) {
|
||||
cluster.on('exit', function(worker) {
|
||||
console.log('worker ' + worker.pid + ' died. restart...');
|
||||
cluster.fork();
|
||||
});
|
||||
@ -286,10 +286,10 @@ This example will echo back all messages from the master:
|
||||
### worker.destroy()
|
||||
|
||||
This function will kill the worker, and inform the master to not spawn a
|
||||
new worker. To know the difference between suicide and accidentally death
|
||||
a suicide boolean is set to true.
|
||||
new worker. To know the difference between suicide and accidentally
|
||||
exit, the `suicide` boolean is set to true.
|
||||
|
||||
cluster.on('death', function (worker) {
|
||||
cluster.on('exit', function (worker) {
|
||||
if (worker.suicide === true) {
|
||||
console.log('Oh, it was just suicide\' – no need to worry').
|
||||
}
|
||||
@ -305,7 +305,7 @@ When calling this function the worker will no longer accept new connections, but
|
||||
they will be handled by any other listening worker. Existing connection will be
|
||||
allowed to exit as usual. When no more connections exist, the IPC channel to the worker
|
||||
will close allowing it to die graceful. When the IPC channel is closed the `disconnect`
|
||||
event will emit, this is then followed by the `death` event, there is emitted when
|
||||
event will emit, this is then followed by the `exit` event, there is emitted when
|
||||
the worker finally die.
|
||||
|
||||
Because there might be long living connections, it is useful to implement a timeout.
|
||||
@ -427,13 +427,13 @@ on the specified worker.
|
||||
// Worker has disconnected
|
||||
};
|
||||
|
||||
### Event: 'death'
|
||||
### Event: 'exit'
|
||||
|
||||
* `worker` {Worker object}
|
||||
|
||||
Same as the `cluster.on('death')` event, but emits only when the state change
|
||||
Same as the `cluster.on('exit')` event, but emits only when the state change
|
||||
on the specified worker.
|
||||
|
||||
cluster.fork().on('death', function (worker) {
|
||||
cluster.fork().on('exit', function (worker) {
|
||||
// Worker has died
|
||||
};
|
||||
|
@ -294,9 +294,9 @@ function Worker(customEnv) {
|
||||
|
||||
// handle internalMessage, exit and disconnect event
|
||||
this.process.on('internalMessage', handleMessage.bind(null, this));
|
||||
this.process.on('exit', prepareDeath.bind(null, this, 'dead', 'death'));
|
||||
this.process.on('exit', prepareExit.bind(null, this, 'dead', 'exit'));
|
||||
this.process.on('disconnect',
|
||||
prepareDeath.bind(null, this, 'disconnected', 'disconnect'));
|
||||
prepareExit.bind(null, this, 'disconnected', 'disconnect'));
|
||||
|
||||
// relay message and error
|
||||
this.process.on('message', this.emit.bind(this, 'message'));
|
||||
@ -306,7 +306,7 @@ function Worker(customEnv) {
|
||||
util.inherits(Worker, EventEmitter);
|
||||
cluster.Worker = Worker;
|
||||
|
||||
function prepareDeath(worker, state, eventName) {
|
||||
function prepareExit(worker, state, eventName) {
|
||||
|
||||
// set state to disconnect
|
||||
worker.state = state;
|
||||
@ -417,7 +417,7 @@ if (cluster.isMaster) {
|
||||
// there are no more servers open so we will close the IPC channel.
|
||||
// Closing the IPC channel will emit a disconnect event
|
||||
// in both master and worker on the process object.
|
||||
// This event will be handled by prepareDeath.
|
||||
// This event will be handled by prepareExit.
|
||||
self.process.disconnect();
|
||||
});
|
||||
|
||||
|
@ -49,13 +49,13 @@ else if (cluster.isMaster) {
|
||||
fork: false,
|
||||
online: false,
|
||||
listening: false,
|
||||
death: false
|
||||
exit: false
|
||||
},
|
||||
equal: {
|
||||
fork: false,
|
||||
online: false,
|
||||
listening: false,
|
||||
death: false
|
||||
exit: false
|
||||
}
|
||||
},
|
||||
|
||||
@ -63,12 +63,12 @@ else if (cluster.isMaster) {
|
||||
events: {
|
||||
online: false,
|
||||
listening: false,
|
||||
death: false
|
||||
exit: false
|
||||
},
|
||||
equal: {
|
||||
online: false,
|
||||
listening: false,
|
||||
death: false
|
||||
exit: false
|
||||
},
|
||||
states: {
|
||||
none: false,
|
||||
@ -106,7 +106,7 @@ else if (cluster.isMaster) {
|
||||
});
|
||||
|
||||
//Kill process when worker is killed
|
||||
cluster.on('death', function() {
|
||||
cluster.on('exit', function() {
|
||||
process.exit(0);
|
||||
});
|
||||
|
||||
|
@ -31,7 +31,7 @@ if (cluster.isMaster) {
|
||||
assert.equal(msg, 'DONE');
|
||||
ok = true;
|
||||
});
|
||||
worker.on('death', function() {
|
||||
worker.on('exit', function() {
|
||||
process.exit();
|
||||
});
|
||||
process.on('exit', function() {
|
||||
|
@ -114,7 +114,7 @@ else if (cluster.isMaster) {
|
||||
worker.destroy();
|
||||
});
|
||||
|
||||
worker.on('death', function() {
|
||||
worker.on('exit', function() {
|
||||
process.exit(0);
|
||||
});
|
||||
|
||||
|
@ -35,12 +35,12 @@ if (cluster.isWorker) {
|
||||
var checks = {
|
||||
cluster: {
|
||||
emitDisconnect: false,
|
||||
emitDeath: false,
|
||||
emitExit: false,
|
||||
callback: false
|
||||
},
|
||||
worker: {
|
||||
emitDisconnect: false,
|
||||
emitDeath: false,
|
||||
emitExit: false,
|
||||
state: false,
|
||||
suicideMode: false,
|
||||
died: false
|
||||
@ -69,8 +69,8 @@ if (cluster.isWorker) {
|
||||
cluster.once('disconnect', function() {
|
||||
checks.cluster.emitDisconnect = true;
|
||||
});
|
||||
cluster.once('death', function() {
|
||||
checks.cluster.emitDeath = true;
|
||||
cluster.once('exit', function() {
|
||||
checks.cluster.emitExit = true;
|
||||
});
|
||||
|
||||
// Check worker eventes and properties
|
||||
@ -81,8 +81,8 @@ if (cluster.isWorker) {
|
||||
});
|
||||
|
||||
// Check that the worker died
|
||||
worker.once('death', function() {
|
||||
checks.worker.emitDeath = true;
|
||||
worker.once('exit', function() {
|
||||
checks.worker.emitExit = true;
|
||||
checks.worker.died = !alive(worker.process.pid);
|
||||
process.nextTick(function() {
|
||||
process.exit(0);
|
||||
@ -97,8 +97,8 @@ if (cluster.isWorker) {
|
||||
// events
|
||||
assert.ok(w.emitDisconnect, 'Disconnect event did not emit');
|
||||
assert.ok(c.emitDisconnect, 'Disconnect event did not emit');
|
||||
assert.ok(w.emitDeath, 'Death event did not emit');
|
||||
assert.ok(c.emitDeath, 'Death event did not emit');
|
||||
assert.ok(w.emitExit, 'Exit event did not emit');
|
||||
assert.ok(c.emitExit, 'Exit event did not emit');
|
||||
|
||||
// flags
|
||||
assert.equal(w.state, 'disconnected', 'The state property was not set');
|
||||
|
Loading…
x
Reference in New Issue
Block a user