add process signal processing

This commit is contained in:
WoLfulus
2020-09-23 04:03:34 -03:00
parent 4501659865
commit 4539ab2210
2 changed files with 24 additions and 2 deletions

View File

@@ -11,3 +11,11 @@ trim_trailing_whitespace = true
[{package.json,*.yml,*.yaml}]
indent_style = space
indent_size = 2
[Dockerfile]
indent_size = 2
indent_style = tab
[Makefile]
indent_size = 2
indent_style = tab

View File

@@ -1,4 +1,5 @@
import logger from '../../logger';
import { Express } from 'express';
export default async function start() {
const { default: env } = require('../../env');
@@ -6,11 +7,24 @@ export default async function start() {
await validateDBConnection();
const app = require('../../app').default;
const app: Express = require('../../app').default;
const port = env.PORT;
app.listen(port, () => {
const server = app.listen(port, () => {
logger.info(`Server started at port ${port}`);
});
const signals: NodeJS.Signals[] = ['SIGHUP', 'SIGINT', 'SIGTERM'];
signals.forEach((signal) => {
process.on(signal, () =>
server.close((err) => {
if (err) {
logger.error(err.message, { err });
return;
}
logger.info('Server stopped.');
})
);
});
}