import { Table, Prerequisites } from "docs-ui" export const metadata = { title: `Redis Event Module`, } # {metadata.title} The Redis Event Module uses Redis to implement Medusa's pub/sub events system. It's powered by BullMQ and `io-redis`. BullMQ is responsible for the message queue and worker, and `io-redis` is the underlying Redis client that BullMQ connects to for events storage. In production, it's recommended to use this module. --- ## Register the Redis Event Module Add the module into the `modules` property of the exported object in `medusa-config.ts`: export const highlights = [ ["11", "redisUrl", "The Redis connection URL."] ] ```ts title="medusa-config.ts" import { Modules } from "@medusajs/framework/utils" // ... module.exports = defineConfig({ // ... modules: [ { resolve: "@medusajs/medusa/event-bus-redis", options: { redisUrl: process.env.EVENTS_REDIS_URL, }, }, ], }) ``` ### Environment Variables Make sure to add the following environment variables: ```bash EVENTS_REDIS_URL= ``` ### Redis Event Module Options Option Description Required Default `redisUrl` A string indicating the Redis connection URL. Yes \- `redisOptions` An object of Redis options. Refer to the [Redis API Reference](https://redis.github.io/ioredis/index.html#RedisOptions) for details on accepted properties. No \- `queueName` A string indicating BullMQ's queue name. No `events-queue` `queueOptions` An object of options to pass to the BullMQ constructor. Refer to [BullMQ's API reference](https://api.docs.bullmq.io/interfaces/v3.QueueOptions.html) for allowed properties. No \- `workerOptions` An object of options to pass to the BullMQ Worker constructor. Refer to [BullMQ's API reference](https://api.docs.bullmq.io/interfaces/v3.WorkerOptions.html) for allowed properties. No \- `jobOptions` An object of options to pass to jobs added to the BullMQ queue. Refer to [BullMQ's API reference](https://api.docs.bullmq.io/modules/v3.html#BulkJobOptions) for allowed properties. No \-
## Test the Module To test the module, start the Medusa application: ```bash npm2yarn npm run dev ``` You'll see the following message in the terminal's logs: ```bash noCopy noReport Connection to Redis in module 'event-redis' established ```