2015-07-24 22:22:40 -07:00
|
|
|
// this ensures node understands the future
|
2016-01-20 09:03:58 -08:00
|
|
|
require('babel-register');
|
2015-07-24 22:22:40 -07:00
|
|
|
|
|
|
|
var startTime = Date.now();
|
|
|
|
var timeoutHandler;
|
|
|
|
// this is where server starts booting up
|
|
|
|
var app = require('./server');
|
2016-06-23 20:05:30 -07:00
|
|
|
|
2015-07-24 22:22:40 -07:00
|
|
|
console.log('waiting for db to connect');
|
|
|
|
|
|
|
|
|
|
|
|
var onConnect = function() {
|
|
|
|
console.log('db connected in %s ms', Date.now() - startTime);
|
|
|
|
if (timeoutHandler) {
|
|
|
|
clearTimeout(timeoutHandler);
|
|
|
|
}
|
|
|
|
app.start();
|
|
|
|
};
|
|
|
|
|
2016-06-23 16:57:26 -07:00
|
|
|
timeoutHandler = setTimeout(function() {
|
2015-07-24 22:22:40 -07:00
|
|
|
var message =
|
2016-05-15 16:43:41 +05:30
|
|
|
'db did not connect after ' +
|
2015-07-24 22:22:40 -07:00
|
|
|
(Date.now() - startTime) +
|
2016-05-15 16:43:41 +05:30
|
|
|
' ms --- crashing hard';
|
2015-07-24 22:22:40 -07:00
|
|
|
|
|
|
|
console.log(message);
|
|
|
|
// purposely shutdown server
|
|
|
|
// pm2 should restart this in production
|
|
|
|
throw new Error(message);
|
2016-02-06 22:58:41 -08:00
|
|
|
}, 15000);
|
2015-07-24 22:22:40 -07:00
|
|
|
|
|
|
|
app.dataSources.db.on('connected', onConnect);
|