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

8
README
View File

@ -63,8 +63,16 @@ sudo ln -s ~/Movies /media/plex
configurer vos chaines sur: http://localhost:32400/web/index.html configurer vos chaines sur: http://localhost:32400/web/index.html
===================
COMPILATION
npm install enclose -g
enclose -o bin/mac_bin --loglevel info -c enclose_config.js -v 0.12.7 ./bin/www
=================== ===================
TODO Liste TODO Liste
ajouter une présentation sur l'index, configurable dans config.js
gérer les images des vignettes gérer les images des vignettes
faire une page spéciales pour les séries faire une page spéciales pour les séries
gérer les téléchargements multi-source en proposant un lien aria2 (voir aria2.sourceforge.net) gérer les téléchargements multi-source en proposant un lien aria2 (voir aria2.sourceforge.net)

65
bin/www
View File

@ -1,33 +1,56 @@
#!/usr/bin/env node #!/usr/bin/env node
//On commence par la mise en cluster
var cluster = require('cluster');
/** // Code to run if we're in the master process
* Module dependencies. if (cluster.isMaster) {
*/ // Count the machine's CPUs
var cpuCount = require('os').cpus().length;
var app = require('../app'); // Create a worker for each CPU
var debug = require('debug')('plex_webdown:server'); for (var i = 0; i < cpuCount; i += 1) {
var http = require('http'); console.log('Création du fork ' + i);
cluster.fork();
}
/** // Listen for dying workers
* Get port from environment and store in Express. 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'); // Code to run if we're in a worker process
app.set('port', port); } 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. * Normalize a port into a number, string, or false.

View File

@ -13,6 +13,7 @@
"jade": "~1.11.0", "jade": "~1.11.0",
"morgan": "~1.6.1", "morgan": "~1.6.1",
"serve-favicon": "~2.3.0", "serve-favicon": "~2.3.0",
"sqlite3": "~3" "sqlite3": "~3",
"cluster":"~0.7.7"
} }
} }

View File

@ -1 +0,0 @@
contenu test