diff --git a/packages/backend/src/config/redis.ts b/packages/backend/src/config/redis.ts index fedb5be0..ea56ccd8 100644 --- a/packages/backend/src/config/redis.ts +++ b/packages/backend/src/config/redis.ts @@ -6,6 +6,7 @@ type TRedisConfig = { username?: string, password?: string, tls?: Record, + enableReadyCheck?: boolean, enableOfflineQueue: boolean, } @@ -15,6 +16,7 @@ const redisConfig: TRedisConfig = { username: appConfig.redisUsername, password: appConfig.redisPassword, enableOfflineQueue: false, + enableReadyCheck: true, }; if (appConfig.redisTls) { diff --git a/packages/backend/src/helpers/check-worker-readiness.ts b/packages/backend/src/helpers/check-worker-readiness.ts new file mode 100644 index 00000000..81011927 --- /dev/null +++ b/packages/backend/src/helpers/check-worker-readiness.ts @@ -0,0 +1,11 @@ +import Redis from 'ioredis'; +import logger from './logger'; +import redisConfig from '../config/redis'; + +const redisClient = new Redis(redisConfig); + +redisClient.on('ready', () => { + logger.info(`Workers are ready!`); + + redisClient.disconnect(); +}); diff --git a/packages/backend/src/worker.ts b/packages/backend/src/worker.ts index a69b069b..6a6358ee 100644 --- a/packages/backend/src/worker.ts +++ b/packages/backend/src/worker.ts @@ -1,4 +1,5 @@ import './config/orm'; +import './helpers/check-worker-readiness'; import './workers/flow'; import './workers/trigger'; import './workers/action';