clusterisation du serveur
This commit is contained in:
parent
1b9623600c
commit
0de920ed93
8
README
8
README
@ -63,8 +63,16 @@ sudo ln -s ~/Movies /media/plex
|
||||
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
|
||||
ajouter une présentation sur l'index, configurable dans config.js
|
||||
gérer les images des vignettes
|
||||
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)
|
||||
|
65
bin/www
65
bin/www
@ -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.
|
||||
|
@ -13,6 +13,7 @@
|
||||
"jade": "~1.11.0",
|
||||
"morgan": "~1.6.1",
|
||||
"serve-favicon": "~2.3.0",
|
||||
"sqlite3": "~3"
|
||||
"sqlite3": "~3",
|
||||
"cluster":"~0.7.7"
|
||||
}
|
||||
}
|
||||
|
@ -1 +0,0 @@
|
||||
contenu test
|
Loading…
Reference in New Issue
Block a user