This commit is contained in:
Jamie Curnow
2018-06-20 08:47:26 +10:00
parent 9e919c3c24
commit 80d78cbf25
39 changed files with 2837 additions and 0 deletions

45
src/backend/index.js Normal file
View File

@ -0,0 +1,45 @@
#!/usr/bin/env node
'use strict';
const config = require('config');
const app = require('./app');
const logger = require('./logger').global;
const migrate = require('./migrate');
const setup = require('./setup');
const apiValidator = require('./lib/validator/api');
let port = process.env.PORT || 81;
if (config.has('port')) {
port = config.get('port');
}
function appStart () {
return migrate.latest()
.then(() => {
return setup();
})
.then(() => {
return apiValidator.loadSchemas;
})
.then(() => {
const server = app.listen(port, () => {
logger.info('PID ' + process.pid + ' listening on port ' + port + ' ...');
process.on('SIGTERM', () => {
logger.info('PID ' + process.pid + ' received SIGTERM');
server.close(() => {
logger.info('Stopping.');
process.exit(0);
});
});
});
})
.catch(err => {
logger.error(err.message);
setTimeout(appStart, 1000);
});
}
appStart();