From 07e4436313c6334228677fce67f205646305aa5b Mon Sep 17 00:00:00 2001 From: DavidGOrtega Date: Thu, 23 Nov 2023 21:14:48 +0100 Subject: [PATCH] 008Q better queue (#20) --- packages/008/src/008QWorker.js | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/packages/008/src/008QWorker.js b/packages/008/src/008QWorker.js index 2a8da73..067bb00 100755 --- a/packages/008/src/008QWorker.js +++ b/packages/008/src/008QWorker.js @@ -1,33 +1,17 @@ -import { tts } from './008Q'; - -let BUSY = false; -const QUEUE = []; +import PQueue from 'p-queue'; -const process = async () => { - // TODO: put back busy check once error handling is fixed - if (!QUEUE.length) return; +import { tts } from './008Q'; - try { - BUSY = true; +const QUEUE = new PQueue({ concurrency: 2 }); - const [data] = QUEUE; +self.addEventListener('message', async ({ data }) => { + console.log(`[008Q] Queuing job ${data.id}`); + QUEUE.add(async () => { const { id, audio } = data; console.log('[008Q] Transcribing...'); const transcript = await tts({ audio }); self.postMessage({ id, transcript }); - } catch (err) { - console.error(err); - } finally { - QUEUE.shift(); - BUSY = false; - process(); - } -}; - -self.addEventListener('message', async ({ data }) => { - console.log(`[008Q] Queuing job ${data.id}`); - QUEUE.push(data); - process(); + }); });