Add destroy event

This commit is contained in:
WoLfulus
2020-10-09 15:04:36 -03:00
parent e826a99d09
commit e23628fb1e

View File

@@ -1,6 +1,7 @@
import knex from 'knex';
import logger from '../../logger';
import { Express } from 'express';
import emitter from '../../emitter';
export default async function start() {
const { default: env } = require('../../env');
@@ -20,7 +21,7 @@ export default async function start() {
const signals: NodeJS.Signals[] = ['SIGHUP', 'SIGINT', 'SIGTERM'];
signals.forEach((signal) => {
process.on(signal, () =>
server.close((err) => {
server.close(async (err) => {
if (err) {
logger.error(`Failed to close server: ${err.message}`, {
err,
@@ -29,18 +30,17 @@ export default async function start() {
}
logger.info('Server stopped.');
connection
.destroy()
.then(() => {
logger.info('Database connection stopped.');
process.exit(0);
})
.catch((err) => {
logger.info(`Failed to destroy database connections: ${err.message}`, {
err,
});
process.exit(1);
try {
await emitter.emitAsync('destroy', { app });
await connection.destroy();
logger.info('Database connection stopped.');
process.exit(0);
} catch (err) {
logger.info(`Failed to destroy database connections: ${err.message}`, {
err,
});
process.exit(1);
}
})
);
});