See [child_process event: 'exit'](child_process.html#child_process_event_exit).
+## Event: 'message'
+
+* `worker` {Worker object}
+* `message` {Object}
+
+Emitted when any worker receives a message.
+
+See
+[child_process event: 'message'](child_process.html#child_process_event_message).
+
## Event: 'setup'
* `settings` {Object}
* `message` {Object}
+Similar to the `cluster.on('message')` event, but specific to this worker.
+
This event is the same as the one provided by `child_process.fork()`.
In a worker you can also use `process.on('message')`.
function forEach(obj, fn) {
Object.keys(obj).forEach(function(name, index) {
- fn(obj[name], name, index);
+ fn(obj[name], name);
});
}
else if (cluster.isMaster) {
var checks = {
+ global: {
+ 'receive': false,
+ 'correct': false
+ },
master: {
'receive': false,
'correct': false
// Spawn worker
var worker = cluster.fork();
- // When a IPC message is received form the worker
+ // When a IPC message is received from the worker
worker.on('message', function(message) {
check('master', message === 'message from worker');
});
+ cluster.on('message', function(message) {
+ check('global', message === 'message from worker');
+ });
- // When a TCP connection is made with the worker connect to it
+ // When a TCP server is listening in the worker connect to it
worker.on('listening', function() {
client = net.connect(common.PORT, function() {