From cecb447b460aeeea587951e1f4d403e663a685a6 Mon Sep 17 00:00:00 2001 From: n4ze3m Date: Tue, 16 Jul 2024 10:09:31 +0530 Subject: [PATCH] chore: Add error handling and processing status flag to knowledge queue subscription --- src/queue/index.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/queue/index.ts b/src/queue/index.ts index f35a382..6ea810f 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -3,4 +3,22 @@ import PubSub from "pubsub-js" export const KNOWLEDGE_QUEUE = Symbol("queue") -PubSub.subscribe(KNOWLEDGE_QUEUE, processKnowledge) +let isProcessing = false + +PubSub.subscribe(KNOWLEDGE_QUEUE, async (msg, id) => { + try { + isProcessing = true + await processKnowledge(msg, id) + isProcessing = false + } catch (error) { + console.error(error) + isProcessing = false + } +}) + +window.addEventListener("beforeunload", (event) => { + if (isProcessing) { + event.preventDefault() + event.returnValue = "" + } +})