@cargolift-cdi/util-rabbitmq 0.2.35 → 0.2.37
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,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,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,mBA6HhF"}
|
|
@@ -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 runWithLoggerContext(seedContext, () => 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,30 +70,18 @@ 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") {
|
|
79
|
-
opts.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
exchange: dlxExchange,
|
|
83
|
-
routing_key: dlqRoutingKey,
|
|
84
|
-
system,
|
|
85
|
-
event,
|
|
86
|
-
action,
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
error: {
|
|
90
|
-
message: error?.toString() || String(error),
|
|
91
|
-
type: errorType,
|
|
92
|
-
},
|
|
93
|
-
});
|
|
82
|
+
if (opts.processor.onError) {
|
|
83
|
+
await runWithLoggerContext(seedContext, () => opts.processor.onError(msgAction, error?.cause || undefined, error?.stack || undefined));
|
|
84
|
+
}
|
|
94
85
|
}
|
|
95
86
|
else {
|
|
96
87
|
opts.loggerContext.warn(`[${queueName}] ${msgAction}`, {
|
|
@@ -105,6 +96,7 @@ export function createDefaultMessageHandler(opts) {
|
|
|
105
96
|
},
|
|
106
97
|
error: {
|
|
107
98
|
message: error?.toString() || String(error),
|
|
99
|
+
cause: error?.cause || undefined,
|
|
108
100
|
type: errorType,
|
|
109
101
|
},
|
|
110
102
|
});
|
|
@@ -126,8 +118,10 @@ export function createDefaultMessageHandler(opts) {
|
|
|
126
118
|
}
|
|
127
119
|
});
|
|
128
120
|
}
|
|
129
|
-
catch {
|
|
130
|
-
|
|
121
|
+
catch (error) {
|
|
122
|
+
if (opts.processor.onError) {
|
|
123
|
+
await opts.processor.onError(error?.message || String(error) || "Erro desconhecido em createDefaultMessageHandler", error?.cause || undefined, error?.stack || undefined);
|
|
124
|
+
}
|
|
131
125
|
}
|
|
132
126
|
};
|
|
133
127
|
}
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cargolift-cdi/util-rabbitmq",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.37",
|
|
4
4
|
"description": "Funções utilitárias para trabalhar com RabbitMQ",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"scripts": {
|
|
35
35
|
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
36
36
|
"build": "npm run clean && tsc -p tsconfig.json",
|
|
37
|
-
"prepublishOnly": "npm run clean && npm run build",
|
|
37
|
+
"prepublishOnly": "npm run clean && npm run build && npm version patch",
|
|
38
38
|
"cdi": "npm update @cargolift-cdi/common @cargolift-cdi/types"
|
|
39
39
|
},
|
|
40
40
|
"engines": {
|