123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/usr/bin/env node
- const schema = require('./schema');
- const logger = require('./logger').global;
- async function appStart () {
- const migrate = require('./migrate');
- const setup = require('./setup');
- const app = require('./app');
- const internalCertificate = require('./internal/certificate');
- const internalIpRanges = require('./internal/ip_ranges');
- return migrate.latest()
- .then(setup)
- .then(schema.getCompiledSchema)
- .then(internalIpRanges.fetch)
- .then(() => {
- internalCertificate.initTimer();
- internalIpRanges.initTimer();
- const server = app.listen(3000, () => {
- logger.info('Backend PID ' + process.pid + ' listening on port 3000 ...');
- process.on('SIGTERM', () => {
- logger.info('PID ' + process.pid + ' received SIGTERM');
- server.close(() => {
- logger.info('Stopping.');
- process.exit(0);
- });
- });
- });
- })
- .catch((err) => {
- logger.error(err.message, err);
- setTimeout(appStart, 1000);
- });
- }
- try {
- appStart();
- } catch (err) {
- logger.error(err.message, err);
- process.exit(1);
- }
|