mirror of
https://github.com/directus/directus.git
synced 2026-01-24 07:07:58 -05:00
Add destroy event
This commit is contained in:
@@ -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);
|
||||
}
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user