diff --git a/src/backend/index.ts b/src/backend/index.ts index 763d27e..6a2e593 100644 --- a/src/backend/index.ts +++ b/src/backend/index.ts @@ -125,7 +125,6 @@ const server = app.listen(config.port, () => { let isShuttingDown = false; const gracefulShutdown = async (signal: string): Promise => { - // Prevent multiple shutdown calls if (isShuttingDown) { logger.warn(`Shutdown already in progress, ignoring ${signal}`); return; @@ -134,7 +133,7 @@ const gracefulShutdown = async (signal: string): Promise => { logger.info(`Received ${signal}, shutting down gracefully`); - // Set a hard timeout for Docker (Docker default stop timeout is 10s) + // Set timeout slightly less than Docker's default (10s) const forceExitTimeout = setTimeout(() => { logger.error('Forced shutdown after timeout'); process.exit(1); @@ -145,7 +144,6 @@ const gracefulShutdown = async (signal: string): Promise => { await new Promise((resolve, reject) => { server.close(err => { if (err) { - logger.error('Error closing server', err); reject(err); } else { logger.info('Server closed successfully'); @@ -154,11 +152,10 @@ const gracefulShutdown = async (signal: string): Promise => { }); }); - // Flush logs + // Flush logs before exit await logger.flush(); - logger.info('Logs flushed successfully'); + logger.info('Shutdown complete'); - // Clean exit clearTimeout(forceExitTimeout); process.exit(0); } catch (error) {