mediawiki-extensions-Visual.../api/server.js
Gabriel Wicke e2ee66e532 Start slightly more workers than there are CPUs
Change-Id: I7381e09ead0420d5d0b8c7dd3045c88c3cbfaa87
2012-05-23 16:46:08 +02:00

24 lines
523 B
JavaScript

/**
* A very basic cluster-based server runner. Restarts failed workers, but does
* not much else right now.
*/
var cluster = require('cluster');
var app = require('./ParserService.js');
var numCPUs = require('os').cpus().length + 3;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', function(worker) {
console.log('worker ' + worker.pid + ' died, restarting.');
// restart worker
cluster.fork();
});
} else {
app.listen(8000);
}