Files
freeCodeCamp/server/production-start.js
Berkeley Martinez c0eda90eb1 make production future ready
This commit does the following:

Production start should use the following command `npm run
start-producion` this first runs bower install and builds the front end
app(react). Then it will use the `pm2Start` script. This script will set
up the pm2 daemons to run loopback in cluster mode. This script also use
`production-start` script instead of the regular `server` script.

The reasons are two fold: to ensure `server` is run in es7 mode, and to
wait for handshake from DB or kill itself if no DB can be found within a
certain amount of time.
2015-07-24 22:27:52 -07:00

32 lines
748 B
JavaScript

// this ensures node understands the future
require('babel/register');
var startTime = Date.now();
var timeoutHandler;
// this is where server starts booting up
var app = require('./server');
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();
};
var timeoutHandler = setTimeout(function() {
var message =
'db did not after ' +
(Date.now() - startTime) +
' ms connect crashing hard';
console.log(message);
// purposely shutdown server
// pm2 should restart this in production
throw new Error(message);
}, 5000);
app.dataSources.db.on('connected', onConnect);