Wait until backend queue is ready before putting jobs into it

This commit is contained in:
Jackson Harper
2024-01-22 11:31:46 +08:00
parent f7b17cb93f
commit db8284dc0b
2 changed files with 5 additions and 3 deletions

View File

@ -16,8 +16,9 @@ import { CustomTypeOrmLogger } from './utils/logger'
export const QUEUE_NAME = 'omnivore-backend-queue'
let backendQueue: Queue | undefined
export const getBackendQueue = (): Queue | undefined => {
export const getBackendQueue = async (): Promise<Queue | undefined> => {
if (backendQueue) {
await backendQueue.waitUntilReady()
return backendQueue
}
if (!redisDataSource.workerRedisClient) {
@ -26,6 +27,7 @@ export const getBackendQueue = (): Queue | undefined => {
backendQueue = new Queue(QUEUE_NAME, {
connection: redisDataSource.workerRedisClient,
})
await backendQueue.waitUntilReady()
return backendQueue
}