aboutsummaryrefslogtreecommitdiff
path: root/src/server/database.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/database.ts')
-rw-r--r--src/server/database.ts11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/server/database.ts b/src/server/database.ts
index 4039e6203..5bdf1fc45 100644
--- a/src/server/database.ts
+++ b/src/server/database.ts
@@ -6,6 +6,7 @@ import { DashUploadUtils } from './DashUploadUtils';
import { Credentials } from 'google-auth-library';
import { GoogleApiServerUtils } from './apis/google/GoogleApiServerUtils';
import * as mongoose from 'mongoose';
+import { addBeforeExitHandler } from './ActionUtilities';
export namespace Database {
@@ -24,18 +25,10 @@ export namespace Database {
export async function tryInitializeConnection() {
try {
const { connection } = mongoose;
- process.on('SIGINT', () => {
- connection.close(() => {
- console.log(`SIGINT closed mongoose connection at ${url}`);
- process.exit(0);
- });
- });
+ addBeforeExitHandler(async () => { await new Promise<any>(resolve => connection.close(resolve)); });
if (connection.readyState === ConnectionStates.disconnected) {
await new Promise<void>((resolve, reject) => {
connection.on('error', reject);
- connection.on('disconnected', () => {
- console.log(`disconnecting mongoose connection at ${url}`);
- });
connection.on('connected', () => {
console.log(`mongoose established default connection at ${url}`);
resolve();