function createInMemory
createInMemory(options?: InMemoryOptions): InMemoryConnector

Creates an in-memory queue connector using a simple message store.

Messages are stored in memory only and will be lost on process restart. Uses bucketed priority queues for delayed message support.

Examples

Basic usage

import { Queue, createInMemory } from "@anabranch/queue";

const connector = createInMemory();
const queue = await Queue.connect(connector).run();

// Send a message
await queue.send("notifications", { type: "welcome", userId: 123 }).run();

// Receive messages
const { successes } = await queue
  .stream("notifications", { count: 10 })
  .map(async (msg) => await processNotification(msg.data))
  .partition();

With delayed messages

await queue.send("notifications", reminder, { delayMs: 30_000 }).run();

With dead letter queue

const connector = createInMemory({
  queues: {
    orders: {
      maxAttempts: 3,
      deadLetterQueue: "orders-failed",
    },
  },
});
const queue = await Queue.connect(connector).run();

Parameters

optional
options: InMemoryOptions

Return Type

Usage

import { createInMemory } from ".";