exodus-framework 2.0.9798 → 2.0.9799

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.
@@ -6,6 +6,7 @@ declare class RabbitMQService extends Service {
6
6
  channel: Channel;
7
7
  private mainRouter;
8
8
  private eventCustomListeners;
9
+ private attempts;
9
10
  private exchangeName;
10
11
  private queueName;
11
12
  private isReconnecting;
@@ -19,6 +20,7 @@ declare class RabbitMQService extends Service {
19
20
  private setupErrorHandles;
20
21
  sendToQueue<K extends keyof TMessageQueueDataMap>(topic: K, data: TMessageQueueDataMap[K], transactionId?: string): Promise<false | `${string}-${string}-${string}-${string}-${string}`>;
21
22
  consumeFromQueue(msg: client.ConsumeMessage): Promise<void>;
23
+ handlerMessageAttempt(msg: client.ConsumeMessage): void;
22
24
  static registerRouter(router: TMessagingQueueEventList): void;
23
25
  onTransaction<K extends keyof TMessageQueueDataMap>(topic: K, callBack: TMessagingQueueHandler<K>): void;
24
26
  offTransaction<K extends keyof TMessageQueueDataMap>(topic: K): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rabitmq.d.ts","sourceRoot":"","sources":["../../src/services/rabitmq.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAUtB,cAAM,eAAgB,SAAQ,OAAO;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,oBAAoB,CAA0D;IAEtF,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEf,oBAAoB;IAcpB,cAAc;IAMd,sBAAsB;IAMtB,WAAW;IAKX,OAAO;IA+BP,eAAe;IAM5B,OAAO,CAAC,iBAAiB;IAYnB,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACpD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM;IAqBlB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA+BjD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,wBAAwB;IAI/C,aAAa,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAY9B,cAAc,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAW7D,YAAY,CACjB,CAAC,SAAS,MAAM,oBAAoB,EACpC,CAAC,SAAS,MAAM,oBAAoB,EACpC,IAAI,EAAE;QACN,IAAI,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC;YAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;QAClD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC;YACT,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACpC,SAAS,EAAE,MAAM,IAAI,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH;CAwBF;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"rabitmq.d.ts","sourceRoot":"","sources":["../../src/services/rabitmq.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAUtB,cAAM,eAAgB,SAAQ,OAAO;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,oBAAoB,CAA0D;IACtF,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEf,oBAAoB;IAepB,cAAc;IAMd,sBAAsB;IAMtB,WAAW;IAKX,OAAO;IA+BP,eAAe;IAM5B,OAAO,CAAC,iBAAiB;IAYnB,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACpD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM;IAqBlB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA4BjD,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IAgBhD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,wBAAwB;IAI/C,aAAa,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAY9B,cAAc,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAW7D,YAAY,CACjB,CAAC,SAAS,MAAM,oBAAoB,EACpC,CAAC,SAAS,MAAM,oBAAoB,EACpC,IAAI,EAAE;QACN,IAAI,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC;YAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;QAClD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC;YACT,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACpC,SAAS,EAAE,MAAM,IAAI,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH;CAwBF;AAED,eAAe,eAAe,CAAC"}
@@ -23,6 +23,7 @@ class RabbitMQService extends _service.default {
23
23
  channel;
24
24
  mainRouter;
25
25
  eventCustomListeners;
26
+ attempts;
26
27
  exchangeName;
27
28
  queueName;
28
29
  isReconnecting = false; // Flag para evitar múltiplas tentativas simultâneas de reconexão
@@ -35,6 +36,7 @@ class RabbitMQService extends _service.default {
35
36
  //Start params
36
37
  this.startAttemptDelay = 5 * 1000;
37
38
  this.maxStartAttempts = 3;
39
+ this.attempts = new Map();
38
40
  this.exchangeName = _app.Core.settings.getMessaging().exchanges.main;
39
41
  this.queueName = _app.Core.settings.getAppication().appId;
40
42
  this.eventCustomListeners = new Map();
@@ -141,13 +143,23 @@ class RabbitMQService extends _service.default {
141
143
  cb(content.data, () => {}, content.serviceId, content.transactionId);
142
144
  }
143
145
  } catch (error) {
144
- setTimeout(() => {
145
- this.channel.nack(msg, false, true); // Reenfileira para nova tentativa
146
- this.log(`Message requeue: ${msg.fields.routingKey}`, 'info');
147
- }, 3000);
146
+ this.handlerMessageAttempt(msg);
148
147
  new _app.ErrorHandler('Error on parsing message from queue', error);
149
148
  }
150
149
  }
150
+ handlerMessageAttempt(msg) {
151
+ const attempts = this.attempts.get(msg.properties.messageId) || 0;
152
+ if (attempts > 3) {
153
+ this.log(`Message ${msg.properties.messageId} failed after 3 attempts`, 'danger');
154
+ this.channel.ack(msg);
155
+ this.attempts.delete(msg.properties.messageId);
156
+ return;
157
+ }
158
+ setTimeout(() => {
159
+ this.channel.nack(msg, false, true); // Reenfileira para nova tentativa
160
+ this.log(`Message requeue: ${msg.fields.routingKey}`, 'info');
161
+ }, 3000);
162
+ }
151
163
  static registerRouter(router) {
152
164
  this.getService().mainRouter = router;
153
165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodus-framework",
3
- "version": "2.0.9798",
3
+ "version": "2.0.9799",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",