clusterisation du serveur

This commit is contained in:
Antoine WEBER
2015-09-22 14:50:45 +02:00
parent 1b9623600c
commit 0de920ed93
4 changed files with 54 additions and 23 deletions

65
bin/www
View File

@@ -1,33 +1,56 @@
#!/usr/bin/env node
//On commence par la mise en cluster
var cluster = require('cluster');
/**
* Module dependencies.
*/
// Code to run if we're in the master process
if (cluster.isMaster) {
// Count the machine's CPUs
var cpuCount = require('os').cpus().length;
var app = require('../app');
var debug = require('debug')('plex_webdown:server');
var http = require('http');
// Create a worker for each CPU
for (var i = 0; i < cpuCount; i += 1) {
console.log('Création du fork ' + i);
cluster.fork();
}
/**
* Get port from environment and store in Express.
*/
// Listen for dying workers
cluster.on('exit', function (worker) {
// Replace the dead worker, we're not sentimental
console.log('Worker ' + worker.id + ' died :(');
cluster.fork();
});
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
// Code to run if we're in a worker process
} else {
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('plex_webdown:server');
var http = require('http');
/**
* Create HTTP server.
*/
/**
* Get port from environment and store in Express.
*/
var server = http.createServer(app);
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Listen on provided port, on all network interfaces.
*/
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
}
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
* Normalize a port into a number, string, or false.