From 82fb352f613d2a0be039d97427caff262f453f9b Mon Sep 17 00:00:00 2001 From: Andrew Rumble Date: Tue, 11 Mar 2025 16:40:06 +0000 Subject: [PATCH] Handle errors during startup GitOrigin-RevId: ba8e5964e78439b0ea3650191f5ea9c9e22f2b50 --- services/history-v1/backup-verifier-app.mjs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/history-v1/backup-verifier-app.mjs b/services/history-v1/backup-verifier-app.mjs index 5f38181f19..febbb99b71 100644 --- a/services/history-v1/backup-verifier-app.mjs +++ b/services/history-v1/backup-verifier-app.mjs @@ -4,6 +4,7 @@ import '@overleaf/metrics/initialize.js' import http from 'node:http' import { fileURLToPath } from 'node:url' import { promisify } from 'node:util' +import { setTimeout } from 'node:timers/promises' import express from 'express' import logger from '@overleaf/logger' import Metrics from '@overleaf/metrics' @@ -81,5 +82,12 @@ export async function startApp(port) { // Run this if we're called directly if (process.argv[1] === fileURLToPath(import.meta.url)) { const PORT = parseInt(process.env.PORT || '3102', 10) - await startApp(PORT) + try { + await startApp(PORT) + } catch (error) { + logger.error({ error }, 'error starting app') + await mongodb.client.close() + await setTimeout(100) + process.exit(1) + } }