fix: rename app entrypoints
This commit is contained in:
32
api-server/production-start.js
Normal file
32
api-server/production-start.js
Normal file
@ -0,0 +1,32 @@
|
||||
// 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