28 lines
469 B
JavaScript
Executable File
28 lines
469 B
JavaScript
Executable File
/**
|
|
* 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();
|
|
}
|