rabbitmq-with-retry-and-dlq 1.0.23 → 1.0.25
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 +247 -134
- package/dist/consumerMq.d.ts +126 -3
- package/dist/consumerMq.d.ts.map +1 -1
- package/dist/consumerMq.js +363 -56
- package/dist/consumerMq.js.map +1 -1
- package/dist/publisherMq.d.ts +2 -70
- package/dist/publisherMq.d.ts.map +1 -1
- package/dist/publisherMq.js +76 -235
- package/dist/publisherMq.js.map +1 -1
- package/dist/types.d.ts +13 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/consumerMq.js.map
CHANGED
|
@@ -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/dist/publisherMq.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
|
-
import { PublishConfig, DirectPublishConfig,
|
|
2
|
+
import { PublishConfig, DirectPublishConfig, ConnectionOptions } from './types';
|
|
3
3
|
declare class RabbitMQPublisher extends EventEmitter {
|
|
4
4
|
private connection?;
|
|
5
5
|
private channel?;
|
|
@@ -7,7 +7,6 @@ declare class RabbitMQPublisher extends EventEmitter {
|
|
|
7
7
|
private isConnected;
|
|
8
8
|
private reconnectIntervalSeconds;
|
|
9
9
|
private connectionTimeoutMs;
|
|
10
|
-
private queueRetryConfigs;
|
|
11
10
|
private initializationPromise?;
|
|
12
11
|
/**
|
|
13
12
|
* Create a new RabbitMQ Publisher
|
|
@@ -64,74 +63,6 @@ declare class RabbitMQPublisher extends EventEmitter {
|
|
|
64
63
|
exchangeType?: 'direct' | 'topic' | 'fanout' | 'headers';
|
|
65
64
|
durable?: boolean;
|
|
66
65
|
}): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Assert/create queues before publishing (Best Practice)
|
|
69
|
-
* Can be called with a single queue name or multiple queue names
|
|
70
|
-
*
|
|
71
|
-
* @param queueNames - Single queue name (string) or array of queue names
|
|
72
|
-
* @param options - Queue assertion options (durable, retryConfig, etc.)
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* // Assert a single queue
|
|
76
|
-
* await publisher.assertQueues('orders');
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* // Assert multiple queues
|
|
80
|
-
* await publisher.assertQueues(['orders', 'payments', 'notifications']);
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* // Assert queue with retry configuration
|
|
84
|
-
* await publisher.assertQueues('orders', {
|
|
85
|
-
* durable: true,
|
|
86
|
-
* retryConfig: {
|
|
87
|
-
* maxRetries: 5,
|
|
88
|
-
* retryDelayMs: 2000,
|
|
89
|
-
* backoffStrategy: 'exponential'
|
|
90
|
-
* }
|
|
91
|
-
* });
|
|
92
|
-
*/
|
|
93
|
-
assertQueues(queueNames: string | string[], options?: {
|
|
94
|
-
durable?: boolean;
|
|
95
|
-
exclusive?: boolean;
|
|
96
|
-
autoDelete?: boolean;
|
|
97
|
-
exchangeName?: string;
|
|
98
|
-
exchangeType?: 'direct' | 'topic' | 'fanout' | 'headers';
|
|
99
|
-
routingKey?: string;
|
|
100
|
-
retryConfig?: RetryConfig;
|
|
101
|
-
}): Promise<void>;
|
|
102
|
-
/**
|
|
103
|
-
* Delete queues (Best Practice for cleanup/testing)
|
|
104
|
-
* Can be called with a single queue name or multiple queue names
|
|
105
|
-
* Also deletes associated retry and DLQ queues if they exist
|
|
106
|
-
*
|
|
107
|
-
* @param queueNames - Single queue name (string) or array of queue names
|
|
108
|
-
* @param options - Delete options (includeRetry, includeDLQ)
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* // Delete a single queue
|
|
112
|
-
* await publisher.deleteQueues('orders');
|
|
113
|
-
*
|
|
114
|
-
* @example
|
|
115
|
-
* // Delete multiple queues
|
|
116
|
-
* await publisher.deleteQueues(['orders', 'payments', 'notifications']);
|
|
117
|
-
*
|
|
118
|
-
* @example
|
|
119
|
-
* // Delete queue without retry/DLQ queues
|
|
120
|
-
* await publisher.deleteQueues('orders', {
|
|
121
|
-
* includeRetry: false,
|
|
122
|
-
* includeDLQ: false
|
|
123
|
-
* });
|
|
124
|
-
*/
|
|
125
|
-
deleteQueues(queueNames: string | string[], options?: {
|
|
126
|
-
/** Whether to delete associated retry queue (default: true) */
|
|
127
|
-
includeRetry?: boolean;
|
|
128
|
-
/** Whether to delete associated DLQ (default: true) */
|
|
129
|
-
includeDLQ?: boolean;
|
|
130
|
-
}): Promise<void>;
|
|
131
|
-
/**
|
|
132
|
-
* Setup Dead Letter Queue (DLQ) infrastructure for a queue with retry mechanism
|
|
133
|
-
*/
|
|
134
|
-
private setupDLQInfrastructure;
|
|
135
66
|
/**
|
|
136
67
|
* Publish message to exchange with routing key
|
|
137
68
|
* Publisher only needs to know about exchange and routing key (not queues)
|
|
@@ -140,6 +71,7 @@ declare class RabbitMQPublisher extends EventEmitter {
|
|
|
140
71
|
publishToExchange<T = any>(config: PublishConfig<T>): Promise<boolean>;
|
|
141
72
|
/**
|
|
142
73
|
* Publish message directly to queue (bypassing exchange) with retry/DLQ support
|
|
74
|
+
* Note: Queue should be set up by consumer with retryConfig if retry is needed
|
|
143
75
|
*/
|
|
144
76
|
publishToQueue<T = any>(config: DirectPublishConfig<T>): Promise<boolean>;
|
|
145
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisherMq.d.ts","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKL,aAAa,EACb,mBAAmB,
|
|
1
|
+
{"version":3,"file":"publisherMq.d.ts","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKL,aAAa,EACb,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,cAAM,iBAAkB,SAAQ,YAAY;IAC1C,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,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAE9C;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAiBhD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwFjC;;;;OAIG;YACW,gBAAgB;IAsB9B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;;;;;;;;;;;;;;OAkBG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,EAChC,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;IAgChB;;;;OAIG;IACG,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqF5E;;;OAGG;IACG,cAAc,CAAC,CAAC,GAAG,GAAG,EAC1B,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC;IAwFnB;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU5E;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B7B;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAuC"}
|
package/dist/publisherMq.js
CHANGED
|
@@ -58,8 +58,6 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
58
58
|
constructor(options) {
|
|
59
59
|
super(); // Initialize EventEmitter
|
|
60
60
|
this.isConnected = false;
|
|
61
|
-
// Store retry config per queue (set during assertQueues)
|
|
62
|
-
this.queueRetryConfigs = new Map();
|
|
63
61
|
// Support both string URL (backward compatible) and options object
|
|
64
62
|
if (typeof options === 'string') {
|
|
65
63
|
this.rabbitUrl = options;
|
|
@@ -68,8 +66,10 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
68
66
|
}
|
|
69
67
|
else {
|
|
70
68
|
this.rabbitUrl = options?.url || 'amqp://localhost';
|
|
71
|
-
this.reconnectIntervalSeconds =
|
|
72
|
-
|
|
69
|
+
this.reconnectIntervalSeconds =
|
|
70
|
+
options?.reconnectIntervalSeconds || types_1.RECONNECT_INTERVAL_SECONDS;
|
|
71
|
+
this.connectionTimeoutMs =
|
|
72
|
+
options?.connectionTimeoutMs || types_1.CONNECTION_TIMEOUT_MS;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
@@ -201,8 +201,16 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
201
201
|
// Auto-connect on first use (lazy loading)
|
|
202
202
|
await this.ensureConnection();
|
|
203
203
|
// Normalize to array
|
|
204
|
-
const exchanges = Array.isArray(exchangeNames)
|
|
204
|
+
const exchanges = Array.isArray(exchangeNames)
|
|
205
|
+
? exchangeNames
|
|
206
|
+
: [exchangeNames];
|
|
205
207
|
const { exchangeType = 'direct', durable = true } = options;
|
|
208
|
+
// Validate exchange names
|
|
209
|
+
for (const exchangeName of exchanges) {
|
|
210
|
+
if (!exchangeName || exchangeName.trim() === '') {
|
|
211
|
+
throw new Error('Exchange name cannot be empty');
|
|
212
|
+
}
|
|
213
|
+
}
|
|
206
214
|
try {
|
|
207
215
|
await this.channel.addSetup(async (ch) => {
|
|
208
216
|
for (const exchangeName of exchanges) {
|
|
@@ -217,229 +225,6 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
217
225
|
throw error;
|
|
218
226
|
}
|
|
219
227
|
}
|
|
220
|
-
/**
|
|
221
|
-
* Assert/create queues before publishing (Best Practice)
|
|
222
|
-
* Can be called with a single queue name or multiple queue names
|
|
223
|
-
*
|
|
224
|
-
* @param queueNames - Single queue name (string) or array of queue names
|
|
225
|
-
* @param options - Queue assertion options (durable, retryConfig, etc.)
|
|
226
|
-
*
|
|
227
|
-
* @example
|
|
228
|
-
* // Assert a single queue
|
|
229
|
-
* await publisher.assertQueues('orders');
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* // Assert multiple queues
|
|
233
|
-
* await publisher.assertQueues(['orders', 'payments', 'notifications']);
|
|
234
|
-
*
|
|
235
|
-
* @example
|
|
236
|
-
* // Assert queue with retry configuration
|
|
237
|
-
* await publisher.assertQueues('orders', {
|
|
238
|
-
* durable: true,
|
|
239
|
-
* retryConfig: {
|
|
240
|
-
* maxRetries: 5,
|
|
241
|
-
* retryDelayMs: 2000,
|
|
242
|
-
* backoffStrategy: 'exponential'
|
|
243
|
-
* }
|
|
244
|
-
* });
|
|
245
|
-
*/
|
|
246
|
-
async assertQueues(queueNames, options = {}) {
|
|
247
|
-
// Auto-connect on first use (lazy loading)
|
|
248
|
-
await this.ensureConnection();
|
|
249
|
-
// Normalize to array
|
|
250
|
-
const queues = Array.isArray(queueNames) ? queueNames : [queueNames];
|
|
251
|
-
const { durable = true, exclusive = false, autoDelete = false, exchangeName, exchangeType = 'direct', routingKey, retryConfig, } = options;
|
|
252
|
-
// Note: If exchangeName is provided without routingKey, queueName will be used as routingKey for each queue
|
|
253
|
-
// Validate retry configuration if provided
|
|
254
|
-
if (retryConfig) {
|
|
255
|
-
(0, validation_1.validateRetryConfig)(retryConfig);
|
|
256
|
-
}
|
|
257
|
-
try {
|
|
258
|
-
const defaultExchange = '';
|
|
259
|
-
const dlxName = exchangeName ? `${exchangeName}.dlx` : 'default.dlx';
|
|
260
|
-
const effectiveExchange = exchangeName || defaultExchange;
|
|
261
|
-
const effectiveRoutingKey = routingKey || (queues.length === 1 ? queues[0] : '');
|
|
262
|
-
// Assert all queues
|
|
263
|
-
await this.channel.addSetup(async (ch) => {
|
|
264
|
-
// Assert exchange if provided
|
|
265
|
-
if (exchangeName) {
|
|
266
|
-
await ch.assertExchange(exchangeName, exchangeType, { durable });
|
|
267
|
-
console.log(`✓ Exchange asserted: ${exchangeName} (${exchangeType})`);
|
|
268
|
-
}
|
|
269
|
-
for (const queueName of queues) {
|
|
270
|
-
const queueArgs = {};
|
|
271
|
-
const effectiveKey = routingKey || queueName;
|
|
272
|
-
// Setup DLQ arguments if retry config is provided
|
|
273
|
-
if (retryConfig && retryConfig.maxRetries > 0) {
|
|
274
|
-
// With retry: failed messages go to retry queue first
|
|
275
|
-
queueArgs['x-dead-letter-exchange'] = effectiveExchange;
|
|
276
|
-
queueArgs['x-dead-letter-routing-key'] = `${effectiveKey}.retry`;
|
|
277
|
-
}
|
|
278
|
-
else if (retryConfig) {
|
|
279
|
-
// No retry (maxRetries = 0): go directly to DLQ
|
|
280
|
-
queueArgs['x-dead-letter-exchange'] = dlxName;
|
|
281
|
-
queueArgs['x-dead-letter-routing-key'] = `${effectiveKey}.dlq`;
|
|
282
|
-
}
|
|
283
|
-
// Assert queue (idempotent - RabbitMQ won't recreate if exists with same params)
|
|
284
|
-
await ch.assertQueue(queueName, {
|
|
285
|
-
durable,
|
|
286
|
-
exclusive,
|
|
287
|
-
autoDelete,
|
|
288
|
-
arguments: Object.keys(queueArgs).length > 0 ? queueArgs : undefined,
|
|
289
|
-
});
|
|
290
|
-
console.log(`✓ Queue asserted: ${queueName}`);
|
|
291
|
-
// Bind queue to exchange if exchangeName is provided (idempotent operation)
|
|
292
|
-
if (exchangeName) {
|
|
293
|
-
await ch.bindQueue(queueName, exchangeName, effectiveKey);
|
|
294
|
-
console.log(`✓ Queue bound to exchange: ${queueName} -> ${exchangeName} (${effectiveKey})`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
// Setup DLQ infrastructure for all queues if retry config is provided
|
|
299
|
-
if (retryConfig) {
|
|
300
|
-
for (const queueName of queues) {
|
|
301
|
-
// Store retry config for this queue (to use during publish)
|
|
302
|
-
this.queueRetryConfigs.set(queueName, retryConfig);
|
|
303
|
-
// Use provided exchange/routingKey or defaults
|
|
304
|
-
const effectiveKey = routingKey || queueName;
|
|
305
|
-
await this.setupDLQInfrastructure(queueName, effectiveExchange, effectiveKey, retryConfig);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
console.log(`✓ Successfully asserted ${queues.length} queue(s)`);
|
|
309
|
-
}
|
|
310
|
-
catch (error) {
|
|
311
|
-
console.error('Failed to assert queues:', error);
|
|
312
|
-
throw error;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Delete queues (Best Practice for cleanup/testing)
|
|
317
|
-
* Can be called with a single queue name or multiple queue names
|
|
318
|
-
* Also deletes associated retry and DLQ queues if they exist
|
|
319
|
-
*
|
|
320
|
-
* @param queueNames - Single queue name (string) or array of queue names
|
|
321
|
-
* @param options - Delete options (includeRetry, includeDLQ)
|
|
322
|
-
*
|
|
323
|
-
* @example
|
|
324
|
-
* // Delete a single queue
|
|
325
|
-
* await publisher.deleteQueues('orders');
|
|
326
|
-
*
|
|
327
|
-
* @example
|
|
328
|
-
* // Delete multiple queues
|
|
329
|
-
* await publisher.deleteQueues(['orders', 'payments', 'notifications']);
|
|
330
|
-
*
|
|
331
|
-
* @example
|
|
332
|
-
* // Delete queue without retry/DLQ queues
|
|
333
|
-
* await publisher.deleteQueues('orders', {
|
|
334
|
-
* includeRetry: false,
|
|
335
|
-
* includeDLQ: false
|
|
336
|
-
* });
|
|
337
|
-
*/
|
|
338
|
-
async deleteQueues(queueNames, options = {}) {
|
|
339
|
-
// Auto-connect on first use (lazy loading)
|
|
340
|
-
await this.ensureConnection();
|
|
341
|
-
// Normalize to array
|
|
342
|
-
const queues = Array.isArray(queueNames) ? queueNames : [queueNames];
|
|
343
|
-
const { includeRetry = true, includeDLQ = true, } = options;
|
|
344
|
-
try {
|
|
345
|
-
let deletedCount = 0;
|
|
346
|
-
// Delete all queues
|
|
347
|
-
await this.channel.addSetup(async (ch) => {
|
|
348
|
-
for (const queueName of queues) {
|
|
349
|
-
// Delete main queue
|
|
350
|
-
try {
|
|
351
|
-
await ch.deleteQueue(queueName, { ifEmpty: false });
|
|
352
|
-
console.log(`✓ Deleted queue: ${queueName}`);
|
|
353
|
-
deletedCount++;
|
|
354
|
-
// Clear stored retry config for this queue
|
|
355
|
-
this.queueRetryConfigs.delete(queueName);
|
|
356
|
-
}
|
|
357
|
-
catch (error) {
|
|
358
|
-
// Queue doesn't exist or already deleted
|
|
359
|
-
if (error.code !== 404) {
|
|
360
|
-
console.warn(`Warning: Could not delete queue ${queueName}:`, error.message);
|
|
361
|
-
}
|
|
362
|
-
else {
|
|
363
|
-
// Queue doesn't exist, but clear config anyway
|
|
364
|
-
this.queueRetryConfigs.delete(queueName);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
// Delete retry queue if requested
|
|
368
|
-
if (includeRetry) {
|
|
369
|
-
try {
|
|
370
|
-
await ch.deleteQueue(`${queueName}.retry`, { ifEmpty: false });
|
|
371
|
-
console.log(`✓ Deleted retry queue: ${queueName}.retry`);
|
|
372
|
-
deletedCount++;
|
|
373
|
-
}
|
|
374
|
-
catch (error) {
|
|
375
|
-
// Retry queue doesn't exist, skip
|
|
376
|
-
if (error.code !== 404) {
|
|
377
|
-
console.warn(`Warning: Could not delete retry queue ${queueName}.retry:`, error.message);
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
// Delete DLQ if requested
|
|
382
|
-
if (includeDLQ) {
|
|
383
|
-
try {
|
|
384
|
-
await ch.deleteQueue(`${queueName}.dlq`, { ifEmpty: false });
|
|
385
|
-
console.log(`✓ Deleted DLQ: ${queueName}.dlq`);
|
|
386
|
-
deletedCount++;
|
|
387
|
-
}
|
|
388
|
-
catch (error) {
|
|
389
|
-
// DLQ doesn't exist, skip
|
|
390
|
-
if (error.code !== 404) {
|
|
391
|
-
console.warn(`Warning: Could not delete DLQ ${queueName}.dlq:`, error.message);
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
});
|
|
397
|
-
console.log(`✓ Successfully deleted ${deletedCount} queue(s)`);
|
|
398
|
-
}
|
|
399
|
-
catch (error) {
|
|
400
|
-
console.error('Failed to delete queues:', error);
|
|
401
|
-
throw error;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Setup Dead Letter Queue (DLQ) infrastructure for a queue with retry mechanism
|
|
406
|
-
*/
|
|
407
|
-
async setupDLQInfrastructure(queueName, exchangeName, routingKey, retryConfig) {
|
|
408
|
-
await this.channel.addSetup(async (ch) => {
|
|
409
|
-
const dlxName = `${exchangeName}.dlx`;
|
|
410
|
-
const dlqName = `${queueName}.dlq`;
|
|
411
|
-
const retryQueueName = `${queueName}.retry`;
|
|
412
|
-
// 1. Create Dead Letter Exchange (DLX)
|
|
413
|
-
await ch.assertExchange(dlxName, 'direct', { durable: true });
|
|
414
|
-
// 2. Create Dead Letter Queue (DLQ) - Final resting place for failed messages
|
|
415
|
-
// assertQueue is idempotent - won't recreate if exists with same params
|
|
416
|
-
await ch.assertQueue(dlqName, {
|
|
417
|
-
durable: true,
|
|
418
|
-
arguments: {
|
|
419
|
-
'x-queue-mode': 'lazy' // Better for long-term storage, saves memory
|
|
420
|
-
}
|
|
421
|
-
});
|
|
422
|
-
await ch.bindQueue(dlqName, dlxName, `${routingKey}.dlq`);
|
|
423
|
-
console.log(`✓ DLQ asserted: ${dlqName}`);
|
|
424
|
-
// 3. Create Retry Queue (if retry is enabled)
|
|
425
|
-
if (retryConfig && retryConfig.maxRetries > 0) {
|
|
426
|
-
// assertQueue is idempotent - won't recreate if exists with same params
|
|
427
|
-
await ch.assertQueue(retryQueueName, {
|
|
428
|
-
durable: true,
|
|
429
|
-
arguments: {
|
|
430
|
-
// NO fixed TTL - we use per-message expiration for exponential backoff
|
|
431
|
-
'x-dead-letter-exchange': exchangeName, // Send back to main exchange after TTL
|
|
432
|
-
'x-dead-letter-routing-key': routingKey // Use original routing key
|
|
433
|
-
}
|
|
434
|
-
});
|
|
435
|
-
console.log(`✓ Retry queue asserted: ${retryQueueName}`);
|
|
436
|
-
console.log(`DLQ infrastructure setup complete for queue: ${queueName} (max retries: ${retryConfig.maxRetries}, exponential backoff enabled)`);
|
|
437
|
-
}
|
|
438
|
-
else {
|
|
439
|
-
console.log(`DLQ infrastructure setup complete for queue: ${queueName} (no retries)`);
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
228
|
/**
|
|
444
229
|
* Publish message to exchange with routing key
|
|
445
230
|
* Publisher only needs to know about exchange and routing key (not queues)
|
|
@@ -448,6 +233,13 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
448
233
|
async publishToExchange(config) {
|
|
449
234
|
// Auto-connect on first use (lazy loading)
|
|
450
235
|
await this.ensureConnection();
|
|
236
|
+
// Validate inputs
|
|
237
|
+
if (!config.exchangeName || config.exchangeName.trim() === '') {
|
|
238
|
+
throw new Error('Exchange name cannot be empty');
|
|
239
|
+
}
|
|
240
|
+
if (!config.routingKey || config.routingKey.trim() === '') {
|
|
241
|
+
throw new Error('Routing key cannot be empty');
|
|
242
|
+
}
|
|
451
243
|
try {
|
|
452
244
|
const { exchangeName, exchangeType = 'direct', routingKey, message, options = {}, } = config;
|
|
453
245
|
const { durable = true, persistent = true, expiration, priority, } = options;
|
|
@@ -467,25 +259,53 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
467
259
|
return true;
|
|
468
260
|
}
|
|
469
261
|
else {
|
|
470
|
-
|
|
262
|
+
const errorMsg = `Message not published (buffer full): ${exchangeName}`;
|
|
263
|
+
console.warn(errorMsg);
|
|
264
|
+
// Emit error event for monitoring
|
|
265
|
+
const errorEvent = {
|
|
266
|
+
type: 'PUBLISH_FAILED',
|
|
267
|
+
error: new Error(errorMsg),
|
|
268
|
+
exchangeName,
|
|
269
|
+
routingKey,
|
|
270
|
+
timestamp: new Date().toISOString(),
|
|
271
|
+
context: { reason: 'buffer_full' },
|
|
272
|
+
};
|
|
273
|
+
this.emit('error', errorEvent);
|
|
471
274
|
return false;
|
|
472
275
|
}
|
|
473
276
|
}
|
|
474
277
|
catch (error) {
|
|
475
278
|
console.error('Failed to publish message to exchange:', error);
|
|
279
|
+
// Emit error event for monitoring
|
|
280
|
+
const errorEvent = {
|
|
281
|
+
type: 'PUBLISH_FAILED',
|
|
282
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
283
|
+
exchangeName: config.exchangeName,
|
|
284
|
+
routingKey: config.routingKey,
|
|
285
|
+
timestamp: new Date().toISOString(),
|
|
286
|
+
context: { reason: 'publish_exception' },
|
|
287
|
+
};
|
|
288
|
+
this.emit('error', errorEvent);
|
|
476
289
|
throw error;
|
|
477
290
|
}
|
|
478
291
|
}
|
|
479
292
|
/**
|
|
480
293
|
* Publish message directly to queue (bypassing exchange) with retry/DLQ support
|
|
294
|
+
* Note: Queue should be set up by consumer with retryConfig if retry is needed
|
|
481
295
|
*/
|
|
482
296
|
async publishToQueue(config) {
|
|
483
297
|
// Auto-connect on first use (lazy loading)
|
|
484
298
|
await this.ensureConnection();
|
|
299
|
+
// Validate inputs
|
|
300
|
+
if (!config.queueName || config.queueName.trim() === '') {
|
|
301
|
+
throw new Error('Queue name cannot be empty');
|
|
302
|
+
}
|
|
485
303
|
try {
|
|
486
|
-
const { queueName, message, options = {} } = config;
|
|
487
|
-
//
|
|
488
|
-
|
|
304
|
+
const { queueName, message, options = {}, retryConfig } = config;
|
|
305
|
+
// Validate retry configuration if provided
|
|
306
|
+
if (retryConfig) {
|
|
307
|
+
(0, validation_1.validateRetryConfig)(retryConfig);
|
|
308
|
+
}
|
|
489
309
|
const { durable = true, persistent = true, expiration, priority, } = options;
|
|
490
310
|
// Publish message
|
|
491
311
|
const publishOptions = { persistent };
|
|
@@ -508,17 +328,38 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
508
328
|
}
|
|
509
329
|
const published = await this.channel.sendToQueue(queueName, message, publishOptions);
|
|
510
330
|
if (published) {
|
|
511
|
-
const retryInfo = retryConfig
|
|
331
|
+
const retryInfo = retryConfig
|
|
332
|
+
? `, retries: ${retryConfig.maxRetries}`
|
|
333
|
+
: '';
|
|
512
334
|
console.log(`Message sent to queue: ${queueName}${retryInfo}`);
|
|
513
335
|
return true;
|
|
514
336
|
}
|
|
515
337
|
else {
|
|
516
|
-
|
|
338
|
+
const errorMsg = `Message not sent (buffer full): ${queueName}`;
|
|
339
|
+
console.warn(errorMsg);
|
|
340
|
+
// Emit error event for monitoring
|
|
341
|
+
const errorEvent = {
|
|
342
|
+
type: 'PUBLISH_FAILED',
|
|
343
|
+
error: new Error(errorMsg),
|
|
344
|
+
queueName,
|
|
345
|
+
timestamp: new Date().toISOString(),
|
|
346
|
+
context: { reason: 'buffer_full' },
|
|
347
|
+
};
|
|
348
|
+
this.emit('error', errorEvent);
|
|
517
349
|
return false;
|
|
518
350
|
}
|
|
519
351
|
}
|
|
520
352
|
catch (error) {
|
|
521
353
|
console.error('Failed to send message to queue:', error);
|
|
354
|
+
// Emit error event for monitoring
|
|
355
|
+
const errorEvent = {
|
|
356
|
+
type: 'PUBLISH_FAILED',
|
|
357
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
358
|
+
queueName: config.queueName,
|
|
359
|
+
timestamp: new Date().toISOString(),
|
|
360
|
+
context: { reason: 'publish_exception' },
|
|
361
|
+
};
|
|
362
|
+
this.emit('error', errorEvent);
|
|
522
363
|
throw error;
|
|
523
364
|
}
|
|
524
365
|
}
|
|
@@ -537,7 +378,7 @@ class RabbitMQPublisher extends events_1.EventEmitter {
|
|
|
537
378
|
try {
|
|
538
379
|
if (this.channel) {
|
|
539
380
|
// Give time for pending messages to be sent (amqp-connection-manager handles confirmations internally)
|
|
540
|
-
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
381
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
541
382
|
await this.channel.close();
|
|
542
383
|
this.channel = undefined;
|
|
543
384
|
}
|