Use node.js domains to catch errors when mongodb crashes
parent
b4f1df3d18
commit
901aeb08d2
15
app.js
15
app.js
|
@ -1,3 +1,4 @@
|
||||||
|
var domain = require('domain').create();
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
var less = require('less-middleware');
|
var less = require('less-middleware');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
@ -16,8 +17,18 @@ var contact = require('./controllers/contact');
|
||||||
var config = require('./config/config');
|
var config = require('./config/config');
|
||||||
var passportConf = require('./config/passport');
|
var passportConf = require('./config/passport');
|
||||||
|
|
||||||
// Connect to database
|
// Connect to MongoDB on a separate domain
|
||||||
var db = mongoose.connect(config.db);
|
domain.run(function() {
|
||||||
|
mongoose.connect(config.db);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Graceful error handling for MongoDB
|
||||||
|
domain.on('error', function(err) {
|
||||||
|
console.error(err.message);
|
||||||
|
setTimeout(function() {
|
||||||
|
mongoose.connect(config.db);
|
||||||
|
}, 2000);
|
||||||
|
});
|
||||||
|
|
||||||
// Initialize express application
|
// Initialize express application
|
||||||
var app = express();
|
var app = express();
|
||||||
|
|
Loading…
Reference in New Issue