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.
|
* Module dependencies.
|
||||||
*/
|
*/
|
||||||
var domain = require('domain');
|
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var flash = require('connect-flash');
|
var flash = require('connect-flash');
|
||||||
@ -26,7 +25,24 @@ var contactController = require('./controllers/contact');
|
|||||||
var secrets = require('./config/secrets');
|
var secrets = require('./config/secrets');
|
||||||
var passportConf = require('./config/passport');
|
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();
|
var app = express();
|
||||||
|
|
||||||
@ -104,4 +120,4 @@ app.get('/auth/tumblr/callback', passport.authorize('tumblr', { failureRedirect:
|
|||||||
app.listen(app.get('port'), function() {
|
app.listen(app.get('port'), function() {
|
||||||
console.log('Express server listening on port ' + app.get('port'));
|
console.log('Express server listening on port ' + app.get('port'));
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user