@cargolift-cdi/util-rabbitmq 0.2.35 → 0.2.36
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.
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Channel, ConsumeMessage } from "amqplib";
|
|
2
2
|
import { Logger } from "@nestjs/common";
|
|
3
3
|
import { LoggerContextService } from "@cargolift-cdi/common";
|
|
4
|
-
export type ProcessFn = (queueName: string, msg: ConsumeMessage) => Promise<void>;
|
|
5
4
|
export interface DefaultHandlerOptions {
|
|
6
5
|
exchange: string;
|
|
7
6
|
logger: Logger;
|
|
8
7
|
loggerContext: LoggerContextService;
|
|
9
8
|
processor: {
|
|
10
|
-
process:
|
|
9
|
+
process: (queueName: string, msg: ConsumeMessage) => Promise<void>;
|
|
10
|
+
onSuccess?: (message: string) => Promise<void>;
|
|
11
|
+
onError: (message: string, detail: string, stack?: string) => Promise<void>;
|
|
11
12
|
};
|
|
12
13
|
dlxSuffixEnvVar?: string;
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-message.handlers.d.ts","sourceRoot":"","sources":["../src/rabbitmq-message.handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAKL,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"rabbitmq-message.handlers.d.ts","sourceRoot":"","sources":["../src/rabbitmq-message.handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAKL,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,EAAE;QACT,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACnE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;;EAaA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,IACvD,KAAK;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,mBA2IhF"}
|
|
@@ -32,6 +32,9 @@ export function createDefaultMessageHandler(opts) {
|
|
|
32
32
|
try {
|
|
33
33
|
await opts.processor.process(queueName, msg);
|
|
34
34
|
channel.ack(msg);
|
|
35
|
+
if (opts.processor.onSuccess) {
|
|
36
|
+
await opts.processor.onSuccess(`[${queueName}] Mensagem processada com sucesso.`);
|
|
37
|
+
}
|
|
35
38
|
}
|
|
36
39
|
catch (error) {
|
|
37
40
|
const errorType = classifyError(error);
|
|
@@ -44,7 +47,7 @@ export function createDefaultMessageHandler(opts) {
|
|
|
44
47
|
data: {
|
|
45
48
|
rabbit: {
|
|
46
49
|
queueName,
|
|
47
|
-
routing_key: msg.fields.routingKey
|
|
50
|
+
routing_key: msg.fields.routingKey,
|
|
48
51
|
},
|
|
49
52
|
},
|
|
50
53
|
error: {
|
|
@@ -67,15 +70,19 @@ export function createDefaultMessageHandler(opts) {
|
|
|
67
70
|
let msgAction;
|
|
68
71
|
switch (errorType) {
|
|
69
72
|
case "business":
|
|
70
|
-
msgAction = `${error.message}
|
|
73
|
+
msgAction = `${error.message} [Erro fatal de negócio, encaminhando para DLQ.]`;
|
|
71
74
|
break;
|
|
72
75
|
case "fatal":
|
|
73
|
-
msgAction = `${error.message}
|
|
76
|
+
msgAction = `${error.message} [Erro fatal, encaminhando para DLQ.]`;
|
|
74
77
|
break;
|
|
75
78
|
default:
|
|
76
|
-
msgAction = `${error.message}
|
|
79
|
+
msgAction = `${error.message} [Todas tentativas falharam, encaminhando para DLQ.]`;
|
|
77
80
|
}
|
|
78
81
|
if (errorType === "fatal" || errorType === "transient") {
|
|
82
|
+
// Chama onError apenas para erros fatais e transitórios
|
|
83
|
+
if (opts.processor.onError) {
|
|
84
|
+
await opts.processor.onError(msgAction, error?.cause || undefined, error?.stack || undefined);
|
|
85
|
+
}
|
|
79
86
|
opts.loggerContext.error(`[${queueName}] ${msgAction}`, {
|
|
80
87
|
data: {
|
|
81
88
|
rabbit: {
|
|
@@ -88,6 +95,7 @@ export function createDefaultMessageHandler(opts) {
|
|
|
88
95
|
},
|
|
89
96
|
error: {
|
|
90
97
|
message: error?.toString() || String(error),
|
|
98
|
+
cause: error?.cause || undefined,
|
|
91
99
|
type: errorType,
|
|
92
100
|
},
|
|
93
101
|
});
|
|
@@ -105,6 +113,7 @@ export function createDefaultMessageHandler(opts) {
|
|
|
105
113
|
},
|
|
106
114
|
error: {
|
|
107
115
|
message: error?.toString() || String(error),
|
|
116
|
+
cause: error?.cause || undefined,
|
|
108
117
|
type: errorType,
|
|
109
118
|
},
|
|
110
119
|
});
|
|
@@ -126,8 +135,10 @@ export function createDefaultMessageHandler(opts) {
|
|
|
126
135
|
}
|
|
127
136
|
});
|
|
128
137
|
}
|
|
129
|
-
catch {
|
|
130
|
-
|
|
138
|
+
catch (error) {
|
|
139
|
+
if (opts.processor.onError) {
|
|
140
|
+
await opts.processor.onError(error?.message || String(error) || "Erro desconhecido em createDefaultMessageHandler", error?.cause || undefined, error?.stack || undefined);
|
|
141
|
+
}
|
|
131
142
|
}
|
|
132
143
|
};
|
|
133
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-message.handlers.js","sourceRoot":"","sources":["../src/rabbitmq-message.handlers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAElB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAkB,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rabbitmq-message.handlers.js","sourceRoot":"","sources":["../src/rabbitmq-message.handlers.ts"],"names":[],"mappings":"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"}
|