Namespace: clusterproxy

clusterproxy

This module allows to use a proxy object that abstracts all the message passing required to communicate between worker processes and master in a cluster app.
Source:

Example

 var cluster = require('cluster');
 var clusterproxy = require('cluster-proxy');
 if (cluster.isMaster) {
   var delegate = {
     a : 42,
     f : function(a, b) {
       return a + b;
     },
     g : function(a, cb) {
       cb(null, a*2, a*a);
     }
   };
   var master = clusterproxy.master({delegate: delegate});
   master.connectWorker(cluster.fork());
 } else {
   var proxy = clusterproxy.worker();
   proxy.get('a', console.log);
   proxy.invoke('f', 1, 2, console.log);
   proxy.invokeAsync('g',//method name
                      1, //callback index in the invoked method
                      21,//argument for the invoked method
                      function(proxyErr, delegateErr, double, square) {//callback
     if(!proxyErr && !delegateErr) {
       console.log('double:', double, 'square:', square);
     } else {
       console.log('error:', proxyErr || delegateErr);
     }
   });
 }

Classes

master
worker