Added clusters for zero-downtime.
mongoose auto-reconnect set to true.
This commit is contained in:
22
app.js
22
app.js
@ -1,7 +1,6 @@
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
var domain = require('domain');
|
||||
var express = require('express');
|
||||
var fs = require('fs');
|
||||
var flash = require('connect-flash');
|
||||
@ -26,7 +25,24 @@ var contactController = require('./controllers/contact');
|
||||
var secrets = require('./config/secrets');
|
||||
var passportConf = require('./config/passport');
|
||||
|
||||
mongoose.connect(secrets.db);
|
||||
if (cluster.isMaster) {
|
||||
var numCPUs = require('os').cpus().length;
|
||||
|
||||
for (var i = 0; i < numCPUs; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
cluster.on('disconnect', function(worker, code, signal) {
|
||||
console.error('worker ' + worker.process.pid + ' died');
|
||||
cluster.fork();
|
||||
});
|
||||
} else {
|
||||
|
||||
/**
|
||||
* Connect to MongoDB.
|
||||
*/
|
||||
var opts = { server: { auto_reconnect: true } };
|
||||
mongoose.connect(secrets.db, opts);
|
||||
|
||||
var app = express();
|
||||
|
||||
@ -104,4 +120,4 @@ app.get('/auth/tumblr/callback', passport.authorize('tumblr', { failureRedirect:
|
||||
app.listen(app.get('port'), function() {
|
||||
console.log('Express server listening on port ' + app.get('port'));
|
||||
});
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user