@platform-x/hep-message-broker-client 1.1.21 → 1.1.22
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.
|
@@ -440,14 +440,14 @@ class MessageBroker {
|
|
|
440
440
|
* @param consumerHandler - Method name on classInstance to process each message
|
|
441
441
|
* @param consumerErrorHandler - Method name on classInstance called when all retries fail
|
|
442
442
|
*/
|
|
443
|
-
initializeConsumers(classInstance, consumerHandler, consumerErrorHandler) {
|
|
443
|
+
initializeConsumers(classInstance, consumerHandler, consumerErrorHandler, consumerRetryHandler) {
|
|
444
444
|
return __awaiter(this, void 0, void 0, function* () {
|
|
445
445
|
try {
|
|
446
446
|
logger_1.Logger.info('Reached in initialize consumers', 'initializeConsumers');
|
|
447
447
|
const consumeQueues = configData === null || configData === void 0 ? void 0 : configData.etg_consume_queues;
|
|
448
448
|
for (const queueName in consumeQueues) {
|
|
449
449
|
if (Object.prototype.hasOwnProperty.call(consumeQueues, queueName)) {
|
|
450
|
-
yield this.consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler);
|
|
450
|
+
yield this.consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler, consumerRetryHandler);
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
}
|
|
@@ -468,7 +468,7 @@ class MessageBroker {
|
|
|
468
468
|
* @param consumerHandler - Method name invoked to process each message
|
|
469
469
|
* @param consumerErrorHandler - Method name invoked when all retries fail
|
|
470
470
|
*/
|
|
471
|
-
consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler) {
|
|
471
|
+
consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler, consumerRetryHandler) {
|
|
472
472
|
return __awaiter(this, void 0, void 0, function* () {
|
|
473
473
|
logger_1.Logger.info(`Reached: Consuming messages from queue ${queueName}`, 'consumeMessage');
|
|
474
474
|
yield this.checkConnectionAndChannel();
|
|
@@ -527,6 +527,13 @@ class MessageBroker {
|
|
|
527
527
|
const delay = Number(retryDelay[delayIndex]);
|
|
528
528
|
logger_1.Logger.info(`Retrying in ${delay / 1000} seconds... (attempt ${nextAttempt} of ${maxRetries} ${data.feed_type})`, 'consumeMessage');
|
|
529
529
|
yield this.sendMessageToRetryQueue({ attempt: nextAttempt, data, retryDelayMs: delay, queueName });
|
|
530
|
+
// retry call
|
|
531
|
+
if (typeof classInstance[consumerRetryHandler] === 'function') {
|
|
532
|
+
yield classInstance[consumerRetryHandler](data);
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
logger_1.Logger.error(`Method ${consumerRetryHandler} not found on classInstance`, 'consumeMessage');
|
|
536
|
+
}
|
|
530
537
|
this.channel.ack(message);
|
|
531
538
|
}
|
|
532
539
|
}
|
|
@@ -264,7 +264,7 @@ class MessageBrokerClient {
|
|
|
264
264
|
* Funvction for initialize consumer queue
|
|
265
265
|
* @param consumerQueues
|
|
266
266
|
*/
|
|
267
|
-
initializeConsumers(classInstance, consumerHandler, consumerErrorHandler
|
|
267
|
+
initializeConsumers(classInstance, consumerHandler, consumerErrorHandler) {
|
|
268
268
|
return __awaiter(this, void 0, void 0, function* () {
|
|
269
269
|
try {
|
|
270
270
|
logger_1.Logger.info('Reached in initialize consumer', `initializeConsumers`);
|
|
@@ -273,7 +273,7 @@ class MessageBrokerClient {
|
|
|
273
273
|
for (let queueName in configData === null || configData === void 0 ? void 0 : configData.consume_queues) {
|
|
274
274
|
if (Object.prototype.hasOwnProperty.call(consume_queues, queueName)) {
|
|
275
275
|
// Call function Consume messages with retry
|
|
276
|
-
yield this.consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler
|
|
276
|
+
yield this.consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler);
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
}
|
|
@@ -328,7 +328,7 @@ class MessageBrokerClient {
|
|
|
328
328
|
* Function to consume message with retry
|
|
329
329
|
* @param queueName
|
|
330
330
|
*/
|
|
331
|
-
consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler
|
|
331
|
+
consumeMessage(queueName, classInstance, consumerHandler, consumerErrorHandler) {
|
|
332
332
|
return __awaiter(this, void 0, void 0, function* () {
|
|
333
333
|
logger_1.Logger.info("Reached: Consuming messages from the queue", 'consumeMessage');
|
|
334
334
|
let attempt = 0;
|
|
@@ -380,13 +380,6 @@ class MessageBrokerClient {
|
|
|
380
380
|
let count = retry_delay.length === attempt ? retry_delay[retry_delay.length - 1] : retry_delay[attempt - 1];
|
|
381
381
|
retryDelay = Number(count);
|
|
382
382
|
yield this.sendMessageToRetryQueue(attempt, data, retryDelay, queueName);
|
|
383
|
-
// retry method
|
|
384
|
-
if (typeof classInstance[consumerRetryHandler] === 'function') {
|
|
385
|
-
yield classInstance[consumerRetryHandler](data); // Dynamically call the method
|
|
386
|
-
}
|
|
387
|
-
else {
|
|
388
|
-
logger_1.Logger.info(`Method ${consumerRetryHandler} not found in classInstance.`, 'consumerMessage');
|
|
389
|
-
}
|
|
390
383
|
logger_1.Logger.info(`Retrying in ${retryDelay / 1000} seconds...`, 'consumeMessage');
|
|
391
384
|
yield new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
392
385
|
}
|