Files
medusa-store/packages/event-bus-redis
Carlos R. L. Rodrigues bd12a95083 chore: Initialize method for modules (#3649)
What:
- Export initialize methods for all modules to be used as a package.
- Export `runMigrations` and `revertMigration` on modules that DB migrations are available

```typescript
import {
  initialize as initializeInventory,
  InventoryServiceInitializeOptions,
  runMigrations as runMigrationsInventory,
} from "@medusajs/inventory";

import { initialize as eventBusInitialize } from "@medusajs/event-bus-redis";

import { initialize as cacheInitialize } from "@medusajs/cache-redis";

const eventBus = await eventBusInitialize({
  redisUrl: "localhost",
});

const cache = await cacheInitialize({
  redisUrl: "localhost",
});

const options: InventoryServiceInitializeOptions = {
  database: {
    type: "postgres",
    url: `postgres://postgres:@localhost/inventory`,
  },
};

await runMigrationsInventory({
  options,
});

const inventoryService = await initializeInventory(options, {
  eventBusService: eventBus,
});

const sku = "sku_123"
const item = await service.createInventoryItem({
  sku,
});

cache.set(sku, { item });

```
2023-03-31 12:09:04 +00:00
..
2023-03-29 13:42:11 +02:00
2023-03-29 13:42:11 +02:00

Medusa

@medusajs/event-bus-redis

Documentation | Website

An open source composable commerce engine built for developers.

Medusa is released under the MIT license. Current CircleCI build status. PRs welcome! Product Hunt Discord Chat Follow @medusajs

Overview

Redis Event Bus module for Medusa. When installed, the events system of Medusa is powered by BullMQ and io-redis. BullMQ is responsible for the message queue and worker. io-redis is the underlying Redis client, that BullMQ connects to for events storage.

Getting started

Install the module:

yarn add @medusajs/event-bus-redis

Add the module to your medusa-config.js:

module.exports = {
  // ...
  modules: [
    {
      resolve: "@medusajs/event-bus-redis",
      options: {
        redisUrl: "redis:.."
      },
    },
  ],
  // ...
}

Configuration

The module can be configured with the following options:

Option Type Description Default
redisUrl string URL of the Redis instance to connect to. events-worker
queueName string? Name of the BullMQ queue. events-queue
queueOptions object? Options for the BullMQ queue. See BullMQ's documentation. {}
redisOptions object? Options for the Redis instance. See io-redis's documentation {}

Info: See how the options are applied in the RedisEventBusService and loader.

If you do not provide a redisUrl in the module options, the server will fail to start.