diff --git a/packages/medusa/src/loaders/index.js b/packages/medusa/src/loaders/index.js index bf6cf5fef9..b3ab5309b8 100644 --- a/packages/medusa/src/loaders/index.js +++ b/packages/medusa/src/loaders/index.js @@ -49,7 +49,7 @@ export default async ({ directory: rootDirectory, expressApp }) => { await modelsLoader({ container }) Logger.info("Models initialized") - await servicesLoader({ container }) + await servicesLoader({ container, configModule }) Logger.info("Services initialized") await subscribersLoader({ container }) diff --git a/packages/medusa/src/loaders/services.js b/packages/medusa/src/loaders/services.js index 476e7214b9..b654d7254b 100644 --- a/packages/medusa/src/loaders/services.js +++ b/packages/medusa/src/loaders/services.js @@ -6,7 +6,7 @@ import { Lifetime, asFunction } from "awilix" /** * Registers all services in the services directory */ -export default ({ container }) => { +export default ({ container, configModule }) => { const isTest = process.env.NODE_ENV === "test" const corePath = isTest ? "../services/__mocks__/*.js" : "../services/*.js" @@ -17,7 +17,9 @@ export default ({ container }) => { const loaded = require(fn).default const name = formatRegistrationName(fn) container.register({ - [name]: asFunction(cradle => new loaded(cradle)).singleton(), + [name]: asFunction( + cradle => new loaded(cradle, configModule) + ).singleton(), }) }) } diff --git a/packages/medusa/src/services/event-bus.js b/packages/medusa/src/services/event-bus.js index 977bc0b721..f6784474d7 100644 --- a/packages/medusa/src/services/event-bus.js +++ b/packages/medusa/src/services/event-bus.js @@ -1,13 +1,13 @@ import Bull from "bull" import Redis from "ioredis" -import config from "../config" + /** * Can keep track of multiple subscribers to different events and run the * subscribers when events happen. Events will run asynchronously. * @interface */ class EventBusService { - constructor({ logger, redisClient, redisSubscriber }) { + constructor({ logger, redisClient, redisSubscriber }, config) { /** @private {logger} */ this.logger_ = logger @@ -18,7 +18,10 @@ class EventBusService { this.cronHandlers_ = {} /** @private {BullQueue} used for cron jobs */ - this.cronQueue_ = new Bull(`cron-jobs:queue`, config.redisURI) + this.cronQueue_ = new Bull( + `cron-jobs:queue`, + config.projectConfig.redis_url + ) const opts = { createClient: type => { @@ -28,7 +31,7 @@ class EventBusService { case "subscriber": return redisSubscriber default: - return new Redis(config.redisURI) + return new Redis(config.projectConfig.redis_url) } }, }