diff --git a/cluster_app.js b/cluster_app.js new file mode 100755 index 0000000000..cc05200b90 --- /dev/null +++ b/cluster_app.js @@ -0,0 +1,27 @@ +/** + * Module dependencies. + */ + +var os = require('os'); +var cluster = require('cluster'); + +/** + * Cluster setup. + */ + +// Setup the cluster to use app.js +cluster.setupMaster({ + exec: 'app.js' +}); + +// Listen for dying workers +cluster.on('exit', function(worker) { + console.log('Worker ' + worker.id + ' died'); + // Replace the dead worker + cluster.fork(); +}); + +// Fork a worker for each available CPU +for (var i = 0; i < os.cpus().length; i++) { + cluster.fork(); +}