chore(server): Move api-server in to it's own DIR
This commit is contained in:
committed by
mrugesh mohapatra
parent
9fba6bce4c
commit
46a217d0a5
33
api-server/server/production-start.js
Normal file
33
api-server/server/production-start.js
Normal file
@ -0,0 +1,33 @@
|
||||
// this ensures node understands the future
|
||||
require('babel-register');
|
||||
const _ = require('lodash');
|
||||
const createDebugger = require('debug');
|
||||
|
||||
const log = createDebugger('fcc:server:production-start');
|
||||
const startTime = Date.now();
|
||||
// force logger to always output
|
||||
// this may be brittle
|
||||
log.enabled = true;
|
||||
// this is where server starts booting up
|
||||
const app = require('./server');
|
||||
|
||||
|
||||
let timeoutHandler;
|
||||
let killTime = 15;
|
||||
|
||||
const onConnect = _.once(() => {
|
||||
log('db connected in: %s', Date.now() - startTime);
|
||||
if (timeoutHandler) {
|
||||
clearTimeout(timeoutHandler);
|
||||
}
|
||||
app.start();
|
||||
});
|
||||
|
||||
timeoutHandler = setTimeout(() => {
|
||||
const message = `db did not connect after ${killTime}s -- crashing hard`;
|
||||
// purposely shutdown server
|
||||
// pm2 should restart this in production
|
||||
throw new Error(message);
|
||||
}, killTime * 1000);
|
||||
|
||||
app.dataSources.db.on('connected', onConnect);
|
Reference in New Issue
Block a user