basalt / queue-rabbitmq/src / RabbitmqQueueDriver
Class: RabbitmqQueueDriver
Defined in: queue-rabbitmq/src/index.ts:124
RabbitMQ queue driver for @basaltkit/queue. Retries and backoff use a per-queue delay queue (<queue>.delay) that dead-letters back to the main queue via message TTL; exhausted jobs land in <queue>.dead. Priority uses x-max-priority.
Caveat: the delay queue relies on per-message TTL, which only releases a message once it reaches the queue head (head-of-line blocking). For mixed delays at scale, prefer the RabbitMQ delayed-message-exchange plugin.
Implements
Constructors
Constructor
> new RabbitmqQueueDriver(options): RabbitmqQueueDriver
Defined in: queue-rabbitmq/src/index.ts:150
Parameters
options
Returns
RabbitmqQueueDriver
Properties
capabilities
> readonly capabilities: DriverCapabilities
Defined in: queue-rabbitmq/src/index.ts:126
What this backend honors — see DriverCapabilities.
Implementation of
name
> readonly name: "rabbitmq" = 'rabbitmq'
Defined in: queue-rabbitmq/src/index.ts:125
Short identifier used in diagnostics (e.g. 'bullmq', 'sync').
Implementation of
Methods
add()
> add(queue, jobName, data, options): Promise<void>
Defined in: queue-rabbitmq/src/index.ts:165
Parameters
queue
string
jobName
string
data
unknown
options
Returns
Promise<void>
Implementation of
close()
> close(): Promise<void>
Defined in: queue-rabbitmq/src/index.ts:216
Returns
Promise<void>
Implementation of
setExecutor()
> setExecutor(executor): void
Defined in: queue-rabbitmq/src/index.ts:161
Called once by the QueueManager — how to execute a received job.
Parameters
executor
Returns
void
Implementation of
startWorker()
> startWorker(queue, options?): void
Defined in: queue-rabbitmq/src/index.ts:194
Starts a worker for the queue (no-op in the sync driver: add executes inline).
Parameters
queue
string
options?
concurrency?
number
Returns
void