Skip to main content

Class: QueueHandle

Defined in: libs/sdk/src/queue.ts:57

Constructors​

new QueueHandle()​

new QueueHandle(http, queueId): QueueHandle

Defined in: libs/sdk/src/queue.ts:60

Parameters​

http​

HttpClient

queueId​

string

Returns​

QueueHandle

Methods​

breakdown()​

breakdown(): Promise<{ data: { byStatus: object[]; totalDeduplicated: number; }; }>

Defined in: libs/sdk/src/queue.ts:233

Get message status breakdown and deduplication stats.

Returns​

Promise<{ data: { byStatus: object[]; totalDeduplicated: number; }; }>


createWorker()​

createWorker(options): QueueWorker

Defined in: libs/sdk/src/queue.ts:78

Create a reliable message worker that continuously polls and processes messages.

Parameters​

options​

WorkerOptions

Returns​

QueueWorker


groups()​

groups(limit?): Promise<MessageGroup[]>

Defined in: libs/sdk/src/queue.ts:225

List message groups with aggregated stats (FIFO queues only).

Parameters​

limit?​

number

Returns​

Promise<MessageGroup[]>


inspect()​

inspect(filters?): Promise<{ data: IntrospectedMessage[]; pagination: { count: number; hasMore: boolean; nextCursor: null | string; }; }>

Defined in: libs/sdk/src/queue.ts:196

List and filter messages for introspection. Supports filtering by status, groupId, deduplicationId, and text search. Returns paginated results with cursor-based pagination.

Parameters​

filters?​

MessageIntrospectionFilters

Returns​

Promise<{ data: IntrospectedMessage[]; pagination: { count: number; hasMore: boolean; nextCursor: null | string; }; }>


receive()​

receive(options?): Promise<RindaMessage[]>

Defined in: libs/sdk/src/queue.ts:120

Parameters​

options?​

ReceiveMessageOptions

Returns​

Promise<RindaMessage[]>


redrive()​

redrive(options?): Promise<RedriveResult>

Defined in: libs/sdk/src/queue.ts:183

Moves messages from this queue's dead-letter queue back onto this queue, so they are delivered again.

Use this after fixing whatever made them fail. Their delivery count is reset, so a redriven message gets the queue's full allowance of attempts rather than being dead-lettered again on the first failure.

One call moves at most 500 messages and reports hasMore if the dead-letter queue still had messages when it stopped:

let result;
do {
result = await queue.redrive();
} while (result.hasMore);

A message is put back before it is removed from the dead-letter queue, so a failure mid-redrive can deliver one twice but cannot lose one. Handlers should be idempotent, as they should be for any queue delivery.

Parameters​

options?​

RedriveOptions

Returns​

Promise<RedriveResult>


remove()​

remove(messageId): Promise<void>

Defined in: libs/sdk/src/queue.ts:149

Parameters​

messageId​

string

Returns​

Promise<void>


search(query, limit?): Promise<IntrospectedMessage[]>

Defined in: libs/sdk/src/queue.ts:216

Full-text search messages by body content. Uses PostgreSQL tsvector for efficient ranked search.

Parameters​

query​

string

limit?​

number

Returns​

Promise<IntrospectedMessage[]>


send()​

send(options): Promise<{ messageId: string; }>

Defined in: libs/sdk/src/queue.ts:82

Parameters​

options​

SendMessageOptions

Returns​

Promise<{ messageId: string; }>


sendBatch()​

sendBatch(messages): Promise<{ messageIds: string[]; }>

Defined in: libs/sdk/src/queue.ts:100

Parameters​

messages​

SendMessageOptions[]

Returns​

Promise<{ messageIds: string[]; }>


setFifo()​

setFifo(isFifo): this

Defined in: libs/sdk/src/queue.ts:70

Mark this queue handle as FIFO. Enables client-side validation of groupId/deduplicationId on send(). Called automatically by Rinda.queue() when queue metadata is available.

Parameters​

isFifo​

boolean

Returns​

this


stats()​

stats(): Promise<{ approximateDelayed: number; approximateMessageCount: number; approximateNotVisible: number; }>

Defined in: libs/sdk/src/queue.ts:153

Returns​

Promise<{ approximateDelayed: number; approximateMessageCount: number; approximateNotVisible: number; }>