From 27c3ed241d289a38cbffb0430c8ced941c4944d8 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Wed, 11 Sep 2024 11:30:39 +0530 Subject: [PATCH] feat: setup bullmq for workflow --- .../workflow-management/scheduler/index.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 server/src/workflow-management/scheduler/index.ts diff --git a/server/src/workflow-management/scheduler/index.ts b/server/src/workflow-management/scheduler/index.ts new file mode 100644 index 00000000..587d9fd4 --- /dev/null +++ b/server/src/workflow-management/scheduler/index.ts @@ -0,0 +1,27 @@ +import { Queue, Worker } from 'bullmq'; +import IORedis from 'ioredis'; + +const connection = new IORedis(); + +const workflowQueue = new Queue('workflow', { connection }); + +const worker = new Worker('workflow', async job => { + const { fileName, runId } = job.data; + try { + const result = await runWorkflow(fileName, runId); + return result; + } catch (error) { + console.error('Error running workflow:', error); + throw error; + } +}, { connection }); + +worker.on('completed', (job: any) => { + console.log(`Job ${job.id} completed for ${job.data.fileName}_${job.data.runId}`); +}); + +worker.on('failed', (job: any, err) => { + console.error(`Job ${job.id} failed for ${job.data.fileName}_${job.data.runId}:`, err); +}); + +export { workflowQueue }; \ No newline at end of file