class RabbitMQAdapter
implements StreamAdapter

RabbitMQ adapter implementing the queue StreamAdapter interface.

Constructors

RabbitMQAdapter(options: AdapterOptions)

Methods

ack(
queue: string,
...ids: string[]
): Promise<void>

Acknowledges successful message processing.

close(): Promise<void>

Closes the RabbitMQ channel.

nack(
queue: string,
id: string,
options?: NackOptions
): Promise<void>

Rejects a message, optionally requeuing or sending to dead letter queue.

receive<T>(
queue: string,
count?: number
): Promise<QueueMessage<T>[]>

Retrieves messages from a queue (pull-based). @default count: 10

send<T>(
queue: string,
data: T,
options?: SendOptions
): Promise<string>

Sends a single message to a queue.

sendBatch<T>(
queue: string,
data: T[],
options?: SendOptions
): Promise<string[]>

Sends multiple messages to a queue in a batch.

subscribe<T>(
queue: string,
options?: { signal?: AbortSignal; prefetch?: number; }
): AsyncIterable<QueueMessage<T>>

Subscribes to messages from a queue (push-based).

Usage

import { RabbitMQAdapter } from ".";