rabbitmq-with-retry-and-dlq 1.0.22 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -100,11 +100,25 @@ await publisher.assertExchange('orders', {
100
100
  });
101
101
  ```
102
102
 
103
- ### Consumer: Assert Queues
103
+ ### Consumer: Assert Exchanges (Recommended!)
104
104
 
105
105
  ```typescript
106
106
  import { consumer } from 'rabbitmq-with-retry-and-dlq';
107
107
 
108
+ // IMPORTANT: Assert exchanges on consumer's connection BEFORE binding
109
+ // This prevents "NOT_FOUND - no exchange" race condition errors
110
+ await consumer.assertExchange('orders', { exchangeType: 'topic' });
111
+ await consumer.assertExchange('payments', { exchangeType: 'direct' });
112
+
113
+ // Or assert multiple exchanges at once
114
+ await consumer.assertExchange(['orders', 'payments'], { exchangeType: 'direct' });
115
+ ```
116
+
117
+ > **Why?** Publisher and consumer use separate connections. Even if publisher creates the exchange, the consumer's connection might not see it immediately. Asserting exchanges on the consumer's connection ensures they exist before binding.
118
+
119
+ ### Consumer: Assert Queues
120
+
121
+ ```typescript
108
122
  // Assert a single queue
109
123
  await consumer.assertQueues('orders-worker');
110
124
 
@@ -125,6 +139,8 @@ await consumer.assertQueues('orders-worker', {
125
139
  ### Consumer: Bind Queue to Exchange
126
140
 
127
141
  ```typescript
142
+ // IMPORTANT: Call consumer.assertExchange() FIRST to prevent race conditions!
143
+
128
144
  // Bind queue to exchange with routing key
129
145
  await consumer.bindQueue('orders-worker', 'orders', 'order.created');
130
146
 
@@ -134,19 +150,14 @@ await consumer.bindQueue('all-orders', 'events', 'order.*');
134
150
  // Multiple bindings to same queue
135
151
  await consumer.bindQueue('orders-worker', 'orders', 'order.created');
136
152
  await consumer.bindQueue('orders-worker', 'orders', 'order.updated');
137
-
138
- // RECOMMENDED: Specify exchangeType to ensure exchange exists
139
- // This prevents "NOT_FOUND - no exchange" errors due to race conditions
140
- await consumer.bindQueue('orders-worker', 'orders', 'order.created', {
141
- exchangeType: 'topic' // Ensures exchange exists on consumer's connection
142
- });
143
153
  ```
144
154
 
145
- ### Complete Best Practice Example
155
+ ### Complete Best Practice Example (RECOMMENDED)
156
+
157
+ Use `setupQueue()` for atomic setup - it does everything in ONE operation, preventing all race conditions:
146
158
 
147
159
  ```typescript
148
160
  // === PUBLISHER SIDE ===
149
- // Publisher only creates exchanges (doesn't know about queues)
150
161
  await publisher.assertExchange('orders', { exchangeType: 'topic' });
151
162
 
152
163
  await publisher.publishToExchange({
@@ -156,20 +167,15 @@ await publisher.publishToExchange({
156
167
  });
157
168
 
158
169
  // === CONSUMER SIDE ===
159
- // Consumer creates its own queues and decides what to subscribe to
160
- await consumer.assertQueues('orders-processor', {
170
+ // Use setupQueue() - does exchange, queue, and bindings in ONE atomic operation
171
+ await consumer.setupQueue({
172
+ queueName: 'orders-processor',
173
+ exchangeName: 'orders',
174
+ exchangeType: 'topic',
175
+ routingKeys: ['order.created', 'order.updated'],
161
176
  retryConfig: { maxRetries: 3, retryDelayMs: 5000 }
162
177
  });
163
178
 
164
- // Bind to exchange (consumer decides which routing keys to receive)
165
- // Specify exchangeType to ensure exchange exists (prevents race conditions)
166
- await consumer.bindQueue('orders-processor', 'orders', 'order.created', {
167
- exchangeType: 'topic'
168
- });
169
- await consumer.bindQueue('orders-processor', 'orders', 'order.updated', {
170
- exchangeType: 'topic'
171
- });
172
-
173
179
  // Start consuming
174
180
  await consumer.consumeQueue({
175
181
  queueName: 'orders-processor',
@@ -179,6 +185,24 @@ await consumer.consumeQueue({
179
185
  });
180
186
  ```
181
187
 
188
+ ### Alternative: Step-by-Step Setup
189
+
190
+ If you need more control, you can use separate methods (but ensure correct order):
191
+
192
+ ```typescript
193
+ // Step 1: Assert exchanges on consumer's connection
194
+ await consumer.assertExchange('orders', { exchangeType: 'topic' });
195
+
196
+ // Step 2: Create queues with retry/DLQ config
197
+ await consumer.assertQueues('orders-processor', {
198
+ retryConfig: { maxRetries: 3, retryDelayMs: 5000 }
199
+ });
200
+
201
+ // Step 3: Bind queues to exchanges
202
+ await consumer.bindQueue('orders-processor', 'orders', 'order.created');
203
+ await consumer.bindQueue('orders-processor', 'orders', 'order.updated');
204
+ ```
205
+
182
206
  ---
183
207
 
184
208
  ## Alternative: Publisher-Managed Queues
@@ -390,9 +414,13 @@ async function startApp() {
390
414
 
391
415
  // 3. Publisher: Assert exchange (publisher owns exchanges)
392
416
  await publisher.assertExchange('orders', { exchangeType: 'topic' });
393
- console.log('✓ Exchange asserted');
417
+ console.log('✓ Publisher exchange asserted');
394
418
 
395
- // 4. Consumer: Assert queues with retry config (consumer owns queues)
419
+ // 4. Consumer: Assert exchange on consumer's connection (PREVENTS RACE CONDITIONS!)
420
+ await consumer.assertExchange('orders', { exchangeType: 'topic' });
421
+ console.log('✓ Consumer exchange asserted');
422
+
423
+ // 5. Consumer: Assert queues with retry config (consumer owns queues)
396
424
  await consumer.assertQueues('orders-processor', {
397
425
  retryConfig: {
398
426
  maxRetries: 5,
@@ -403,17 +431,12 @@ async function startApp() {
403
431
  });
404
432
  console.log('✓ Queues asserted');
405
433
 
406
- // 5. Consumer: Bind queue to exchange (consumer decides what to receive)
407
- // IMPORTANT: Specify exchangeType to prevent race conditions with publisher
408
- await consumer.bindQueue('orders-processor', 'orders', 'order.created', {
409
- exchangeType: 'topic'
410
- });
411
- await consumer.bindQueue('orders-processor', 'orders', 'order.updated', {
412
- exchangeType: 'topic'
413
- });
434
+ // 6. Consumer: Bind queue to exchange (consumer decides what to receive)
435
+ await consumer.bindQueue('orders-processor', 'orders', 'order.created');
436
+ await consumer.bindQueue('orders-processor', 'orders', 'order.updated');
414
437
  console.log('✓ Queue bindings created');
415
438
 
416
- // 6. Start consumer
439
+ // 7. Start consumer
417
440
  await consumer.consumeQueue({
418
441
  queueName: 'orders-processor',
419
442
  onMessage: async (message) => {
@@ -423,7 +446,7 @@ async function startApp() {
423
446
  });
424
447
  console.log('✓ Consumer started');
425
448
 
426
- // 7. Start server
449
+ // 8. Start server
427
450
  app.listen(3000, () => {
428
451
  console.log('✓ Server running on port 3000');
429
452
  });
@@ -489,8 +512,10 @@ startApp();
489
512
 
490
513
  | Method | Description |
491
514
  |--------|-------------|
515
+ | `setupQueue(config)` | **RECOMMENDED** - Atomic setup: exchange + queue + bindings in one operation |
516
+ | `assertExchange(names, options?)` | Assert exchange(s) on consumer connection |
492
517
  | `assertQueues(names, options?)` | Create queue(s) with optional retry/DLQ config |
493
- | `bindQueue(queue, exchange, routingKey)` | Bind queue to exchange |
518
+ | `bindQueue(queue, exchange, routingKey, options?)` | Bind queue to exchange |
494
519
  | `consumeQueue(config)` | Start consuming from queue |
495
520
  | `consumeMultipleQueues(config)` | Consume from multiple queues |
496
521
  | `consumeWithPattern(exchange, pattern, handler)` | Consume with pattern matching (topic) |
@@ -41,6 +41,25 @@ declare class RabbitMQConsumer extends EventEmitter {
41
41
  * Check if consumer is connected
42
42
  */
43
43
  isConsumerConnected(): boolean;
44
+ /**
45
+ * Assert/create exchanges on the consumer's connection
46
+ * This ensures exchanges exist before binding queues (prevents race conditions)
47
+ *
48
+ * @param exchangeNames - Name of the exchange (string) or array of exchange names
49
+ * @param options - Exchange options (type, durable)
50
+ *
51
+ * @example
52
+ * // Assert exchanges before binding (RECOMMENDED to prevent race conditions)
53
+ * await consumer.assertExchange('orders', { exchangeType: 'topic' });
54
+ * await consumer.assertExchange('payments', { exchangeType: 'direct' });
55
+ *
56
+ * // Then bind queues
57
+ * await consumer.bindQueue('orders-worker', 'orders', 'order.created');
58
+ */
59
+ assertExchange(exchangeNames: string | string[], options?: {
60
+ exchangeType?: 'direct' | 'topic' | 'fanout' | 'headers';
61
+ durable?: boolean;
62
+ }): Promise<void>;
44
63
  /**
45
64
  * Assert/create queues (Best Practice for Consumers)
46
65
  * Consumers own their queues and decide what to subscribe to
@@ -99,6 +118,43 @@ declare class RabbitMQConsumer extends EventEmitter {
99
118
  exchangeType?: 'direct' | 'topic' | 'fanout' | 'headers';
100
119
  durable?: boolean;
101
120
  }): Promise<void>;
121
+ /**
122
+ * Setup a complete queue with exchange and bindings in ONE atomic operation
123
+ * This is the RECOMMENDED method to prevent race conditions
124
+ *
125
+ * All operations (exchange, queue, bindings) happen in a single setup callback,
126
+ * guaranteeing correct order of execution.
127
+ *
128
+ * @param config - Queue setup configuration
129
+ *
130
+ * @example
131
+ * await consumer.setupQueue({
132
+ * queueName: 'orders-processor',
133
+ * exchangeName: 'orders',
134
+ * exchangeType: 'topic',
135
+ * routingKeys: ['order.created', 'order.updated'],
136
+ * retryConfig: { maxRetries: 3, retryDelayMs: 5000 }
137
+ * });
138
+ *
139
+ * @example
140
+ * // Setup multiple queues
141
+ * await consumer.setupQueue({
142
+ * queueName: 'fiat.account.create',
143
+ * exchangeName: 'user-accounts',
144
+ * exchangeType: 'topic',
145
+ * routingKeys: ['account.fiat.create', 'account.create']
146
+ * });
147
+ */
148
+ setupQueue(config: {
149
+ queueName: string;
150
+ exchangeName: string;
151
+ exchangeType: 'direct' | 'topic' | 'fanout' | 'headers';
152
+ routingKeys: string | string[];
153
+ durable?: boolean;
154
+ exclusive?: boolean;
155
+ autoDelete?: boolean;
156
+ retryConfig?: RetryConfig;
157
+ }): Promise<void>;
102
158
  /**
103
159
  * List of error codes that are considered retryable (transient errors)
104
160
  * These errors indicate temporary failures that may succeed on retry
@@ -1 +1 @@
1
- {"version":3,"file":"consumerMq.d.ts","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAML,aAAa,EACb,WAAW,EACX,uBAAuB,EAIvB,iBAAiB,EACjB,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,cAAM,gBAAiB,SAAQ,YAAY;IACzC,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAE9C;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFjC;;;;OAIG;YACW,gBAAgB;IAsB9B;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;KACtB,GACL,OAAO,CAAC,IAAI,CAAC;IAoDhB;;OAEG;YACW,sBAAsB;IA8BpC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,GACL,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CA4B3C;IAEF;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuOpE;;OAEG;IACG,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAevF;;OAEG;IACG,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EACvF,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,IAAI,CAAC;IA2DhB;;OAEG;IACH,gBAAgB,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE;IAOjE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B7B;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC;;AAC5B,wBAAsC"}
1
+ {"version":3,"file":"consumerMq.d.ts","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"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"}
@@ -178,6 +178,41 @@ class RabbitMQConsumer extends events_1.EventEmitter {
178
178
  isConsumerConnected() {
179
179
  return this.isConnected && !!this.connection && !!this.channel;
180
180
  }
181
+ /**
182
+ * Assert/create exchanges on the consumer's connection
183
+ * This ensures exchanges exist before binding queues (prevents race conditions)
184
+ *
185
+ * @param exchangeNames - Name of the exchange (string) or array of exchange names
186
+ * @param options - Exchange options (type, durable)
187
+ *
188
+ * @example
189
+ * // Assert exchanges before binding (RECOMMENDED to prevent race conditions)
190
+ * await consumer.assertExchange('orders', { exchangeType: 'topic' });
191
+ * await consumer.assertExchange('payments', { exchangeType: 'direct' });
192
+ *
193
+ * // Then bind queues
194
+ * await consumer.bindQueue('orders-worker', 'orders', 'order.created');
195
+ */
196
+ async assertExchange(exchangeNames, options = {}) {
197
+ // Auto-connect on first use (lazy loading)
198
+ await this.ensureConnection();
199
+ // Normalize to array
200
+ const exchanges = Array.isArray(exchangeNames) ? exchangeNames : [exchangeNames];
201
+ const { exchangeType = 'direct', durable = true } = options;
202
+ try {
203
+ await this.channel.addSetup(async (ch) => {
204
+ for (const exchangeName of exchanges) {
205
+ await ch.assertExchange(exchangeName, exchangeType, { durable });
206
+ console.log(`✓ Consumer exchange asserted: ${exchangeName} (${exchangeType})`);
207
+ }
208
+ });
209
+ console.log(`✓ Consumer successfully asserted ${exchanges.length} exchange(s)`);
210
+ }
211
+ catch (error) {
212
+ console.error('Consumer failed to assert exchange:', error);
213
+ throw error;
214
+ }
215
+ }
181
216
  /**
182
217
  * Assert/create queues (Best Practice for Consumers)
183
218
  * Consumers own their queues and decide what to subscribe to
@@ -308,6 +343,98 @@ class RabbitMQConsumer extends events_1.EventEmitter {
308
343
  throw error;
309
344
  }
310
345
  }
346
+ /**
347
+ * Setup a complete queue with exchange and bindings in ONE atomic operation
348
+ * This is the RECOMMENDED method to prevent race conditions
349
+ *
350
+ * All operations (exchange, queue, bindings) happen in a single setup callback,
351
+ * guaranteeing correct order of execution.
352
+ *
353
+ * @param config - Queue setup configuration
354
+ *
355
+ * @example
356
+ * await consumer.setupQueue({
357
+ * queueName: 'orders-processor',
358
+ * exchangeName: 'orders',
359
+ * exchangeType: 'topic',
360
+ * routingKeys: ['order.created', 'order.updated'],
361
+ * retryConfig: { maxRetries: 3, retryDelayMs: 5000 }
362
+ * });
363
+ *
364
+ * @example
365
+ * // Setup multiple queues
366
+ * await consumer.setupQueue({
367
+ * queueName: 'fiat.account.create',
368
+ * exchangeName: 'user-accounts',
369
+ * exchangeType: 'topic',
370
+ * routingKeys: ['account.fiat.create', 'account.create']
371
+ * });
372
+ */
373
+ async setupQueue(config) {
374
+ // Auto-connect on first use (lazy loading)
375
+ await this.ensureConnection();
376
+ const { queueName, exchangeName, exchangeType, routingKeys, durable = true, exclusive = false, autoDelete = false, retryConfig, } = config;
377
+ // Normalize routing keys to array
378
+ const keys = Array.isArray(routingKeys) ? routingKeys : [routingKeys];
379
+ // Validate retry configuration if provided
380
+ if (retryConfig) {
381
+ (0, validation_1.validateRetryConfig)(retryConfig);
382
+ }
383
+ try {
384
+ // SINGLE addSetup call - all operations happen in sequence, guaranteed order
385
+ await this.channel.addSetup(async (ch) => {
386
+ // 1. Assert exchange
387
+ await ch.assertExchange(exchangeName, exchangeType, { durable });
388
+ console.log(`✓ Exchange asserted: ${exchangeName} (${exchangeType})`);
389
+ // 2. Build queue arguments
390
+ const queueArgs = {};
391
+ if (retryConfig && retryConfig.maxRetries > 0) {
392
+ queueArgs['x-dead-letter-exchange'] = '';
393
+ queueArgs['x-dead-letter-routing-key'] = `${queueName}.retry`;
394
+ }
395
+ // 3. Assert queue
396
+ await ch.assertQueue(queueName, {
397
+ durable,
398
+ exclusive,
399
+ autoDelete,
400
+ arguments: Object.keys(queueArgs).length > 0 ? queueArgs : undefined,
401
+ });
402
+ console.log(`✓ Queue asserted: ${queueName}`);
403
+ // 4. Setup retry and DLQ queues if retry config is provided
404
+ if (retryConfig) {
405
+ const retryQueueName = `${queueName}.retry`;
406
+ const dlqName = `${queueName}.dlq`;
407
+ if (retryConfig.maxRetries > 0) {
408
+ await ch.assertQueue(retryQueueName, {
409
+ durable: true,
410
+ arguments: {
411
+ 'x-dead-letter-exchange': '',
412
+ 'x-dead-letter-routing-key': queueName,
413
+ },
414
+ });
415
+ console.log(`✓ Retry queue asserted: ${retryQueueName}`);
416
+ }
417
+ await ch.assertQueue(dlqName, {
418
+ durable: true,
419
+ arguments: {
420
+ 'x-queue-mode': 'lazy',
421
+ },
422
+ });
423
+ console.log(`✓ DLQ asserted: ${dlqName}`);
424
+ }
425
+ // 5. Bind queue to exchange with all routing keys
426
+ for (const routingKey of keys) {
427
+ await ch.bindQueue(queueName, exchangeName, routingKey);
428
+ console.log(`✓ Queue bound: ${queueName} -> ${exchangeName} (${routingKey})`);
429
+ }
430
+ });
431
+ console.log(`✓ Queue setup complete: ${queueName}`);
432
+ }
433
+ catch (error) {
434
+ console.error(`Failed to setup queue ${queueName}:`, error);
435
+ throw error;
436
+ }
437
+ }
311
438
  /**
312
439
  * Extract error code from an error object
313
440
  * Handles various error formats (Node.js errors, custom errors, HTTP errors)
@@ -1 +1 @@
1
- {"version":3,"file":"consumerMq.js","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumerMq.js","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rabbitmq-with-retry-and-dlq",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "description": "RabbitMQ implementation with dynamic retry logic and Dead Letter Queue support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",