From b51d9bb17b40942625bfa81a80e59bae07a08b28 Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Thu, 2 Mar 2023 15:25:24 +0000 Subject: [PATCH] feat: add delete user queue --- .../src/helpers/create-bull-board-handler.ts | 2 ++ packages/backend/src/queues/delete-user.ee.ts | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 packages/backend/src/queues/delete-user.ee.ts diff --git a/packages/backend/src/helpers/create-bull-board-handler.ts b/packages/backend/src/helpers/create-bull-board-handler.ts index a1a7f3c1..28a39330 100644 --- a/packages/backend/src/helpers/create-bull-board-handler.ts +++ b/packages/backend/src/helpers/create-bull-board-handler.ts @@ -5,6 +5,7 @@ import flowQueue from '../queues/flow'; import triggerQueue from '../queues/trigger'; import actionQueue from '../queues/action'; import emailQueue from '../queues/email'; +import deleteUserQueue from '../queues/delete-user.ee'; import appConfig from '../config/app'; const serverAdapter = new ExpressAdapter(); @@ -23,6 +24,7 @@ const createBullBoardHandler = async (serverAdapter: ExpressAdapter) => { new BullMQAdapter(triggerQueue), new BullMQAdapter(actionQueue), new BullMQAdapter(emailQueue), + new BullMQAdapter(deleteUserQueue), ], serverAdapter: serverAdapter, }); diff --git a/packages/backend/src/queues/delete-user.ee.ts b/packages/backend/src/queues/delete-user.ee.ts new file mode 100644 index 00000000..d67a59b3 --- /dev/null +++ b/packages/backend/src/queues/delete-user.ee.ts @@ -0,0 +1,25 @@ +import process from 'process'; +import { Queue } from 'bullmq'; +import redisConfig from '../config/redis'; +import logger from '../helpers/logger'; + +const CONNECTION_REFUSED = 'ECONNREFUSED'; + +const redisConnection = { + connection: redisConfig, +}; + +const deleteUserQueue = new Queue('delete-user', redisConnection); + +process.on('SIGTERM', async () => { + await deleteUserQueue.close(); +}); + +deleteUserQueue.on('error', (err) => { + if ((err as any).code === CONNECTION_REFUSED) { + logger.error('Make sure you have installed Redis and it is running.', err); + process.exit(); + } +}); + +export default deleteUserQueue;