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)

25
bin/www
View File

@ -1,9 +1,30 @@
#!/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
if (cluster.isMaster) {
// Count the machine's CPUs
var cpuCount = require('os').cpus().length;
// Create a worker for each CPU
for (var i = 0; i < cpuCount; i += 1) {
console.log('Création du fork ' + i);
cluster.fork();
}
// 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();
});
// Code to run if we're in a worker process
} else {
/** /**
* Module dependencies. * Module dependencies.
*/ */
var app = require('../app'); var app = require('../app');
var debug = require('debug')('plex_webdown:server'); var debug = require('debug')('plex_webdown:server');
var http = require('http'); var http = require('http');
@ -28,6 +49,8 @@ var server = http.createServer(app);
server.listen(port); server.listen(port);
server.on('error', onError); server.on('error', onError);
server.on('listening', onListening); 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