From 0e9e331e18c7ef37b91b15c90c950c5a4e4e0eb0 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 1 Feb 2024 16:43:57 +0800 Subject: [PATCH] Implement a lifecycle hook for queue processor so it can shut down gracefully --- packages/api/src/queue-processor.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/api/src/queue-processor.ts b/packages/api/src/queue-processor.ts index d1ec1ed2b..241ef809f 100644 --- a/packages/api/src/queue-processor.ts +++ b/packages/api/src/queue-processor.ts @@ -142,6 +142,12 @@ const main = async () => { // respond healthy to auto-scaler. app.get('/_ah/health', (req, res) => res.sendStatus(200)) + app.get('/lifecyle/prestop', async (req, res) => { + logger.info('prestop lifecycle hook called.') + await worker.close() + res.sendStatus(200) + }) + app.get('/metrics', async (_, res) => { const queue = await getBackendQueue() if (!queue) {