@cargolift-cdi/util-rabbitmq 0.1.13 → 0.1.14
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,5 +1,6 @@
|
|
|
1
1
|
import { ClientProxy } from '@nestjs/microservices';
|
|
2
2
|
import { LoggerContextService } from '@cargolift-cdi/util-logger';
|
|
3
|
+
import { RabbitMQChannel, RabbitMQMessage } from '@cargolift-cdi/types';
|
|
3
4
|
export declare class RabbitMQPublisherService {
|
|
4
5
|
private readonly logger;
|
|
5
6
|
constructor(logger: LoggerContextService);
|
|
@@ -16,5 +17,6 @@ export declare class RabbitMQPublisherService {
|
|
|
16
17
|
routingKey?: string;
|
|
17
18
|
headers?: Record<string, any>;
|
|
18
19
|
}): Promise<void>;
|
|
20
|
+
publishToDlq(channel: RabbitMQChannel, originalMsg: RabbitMQMessage, logger: LoggerContextService, error: any, dlqExchange?: string, dlqRoutingKey?: string): void;
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=rabbitmq-publisher.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-publisher.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"rabbitmq-publisher.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIxE,qBACa,wBAAwB;IAEO,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAEvF;;;;;;OAMG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,GAAG,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACA,OAAO,CAAC,IAAI,CAAC;IAqHT,YAAY,CACjB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,eAAe,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,GAAG,EACV,WAAW,SAAc,EACzB,aAAa,SAAmB;CAoBnC"}
|
|
@@ -79,7 +79,7 @@ let RabbitMQPublisherService = class RabbitMQPublisherService {
|
|
|
79
79
|
connection.on('error', (err) => {
|
|
80
80
|
try {
|
|
81
81
|
this.logger?.error('AMQP connection error', err, {
|
|
82
|
-
application: { name:
|
|
82
|
+
application: { name: "util-rabbitmq", function: "RabbitMQPublisherService", action: "emit" },
|
|
83
83
|
data: { rabbitmq: { url, queue: pattern } }
|
|
84
84
|
});
|
|
85
85
|
}
|
|
@@ -122,7 +122,7 @@ let RabbitMQPublisherService = class RabbitMQPublisherService {
|
|
|
122
122
|
await new Promise((res) => channel.once('drain', () => res()));
|
|
123
123
|
}
|
|
124
124
|
this.logger.info(`Mensagem publicada no exchange "${exchangeToUse}" com routingKey "${routingKey}"`, {
|
|
125
|
-
application: { name:
|
|
125
|
+
application: { name: "util-rabbitmq", function: "RabbitMQPublisherService", action: "emit" },
|
|
126
126
|
data: { rabbitmq: { queue: pattern, exchange: exchangeToUse, routingKey } },
|
|
127
127
|
});
|
|
128
128
|
}
|
|
@@ -140,7 +140,7 @@ let RabbitMQPublisherService = class RabbitMQPublisherService {
|
|
|
140
140
|
headers,
|
|
141
141
|
});
|
|
142
142
|
this.logger.info(`Mensagem publicada na fila do RabbitMQ "${pattern}"`, {
|
|
143
|
-
application: { name:
|
|
143
|
+
application: { name: "util-rabbitmq", function: "RabbitMQPublisherService", action: "emit" },
|
|
144
144
|
data: { rabbitmq: { queue: pattern } },
|
|
145
145
|
});
|
|
146
146
|
}
|
|
@@ -149,7 +149,7 @@ let RabbitMQPublisherService = class RabbitMQPublisherService {
|
|
|
149
149
|
catch (err) {
|
|
150
150
|
// Loga com contexto e relança para que o controller/filtro capture
|
|
151
151
|
this.logger.error(`Erro ao publicar mensagem no RabbitMQ "${pattern}"`, err, {
|
|
152
|
-
application: { name:
|
|
152
|
+
application: { name: "util-rabbitmq", function: "RabbitMQPublisherService", action: "emit" },
|
|
153
153
|
data: { rabbitmq: { queue: pattern } },
|
|
154
154
|
});
|
|
155
155
|
throw err;
|
|
@@ -172,6 +172,18 @@ let RabbitMQPublisherService = class RabbitMQPublisherService {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
+
publishToDlq(channel, originalMsg, logger, error, dlqExchange = 'email.dlx', dlqRoutingKey = 'email.send.dlq') {
|
|
176
|
+
const headers = {
|
|
177
|
+
...originalMsg.properties.headers,
|
|
178
|
+
'x-trace': logger.getContext().trace || originalMsg.properties.headers['x-trace'] || "Falha ao processar o trace: " + process.env.npm_package_name,
|
|
179
|
+
'x-error-reason': error.message || 'Erro desconhecido',
|
|
180
|
+
'x-error-stacktrace': error.stack,
|
|
181
|
+
'x-exception-name': error.name,
|
|
182
|
+
};
|
|
183
|
+
this.logger.businessError(error.message, { error });
|
|
184
|
+
channel.publish(dlqExchange, dlqRoutingKey, originalMsg.content, { headers });
|
|
185
|
+
channel.ack(originalMsg);
|
|
186
|
+
}
|
|
175
187
|
};
|
|
176
188
|
exports.RabbitMQPublisherService = RabbitMQPublisherService;
|
|
177
189
|
exports.RabbitMQPublisherService = RabbitMQPublisherService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-publisher.service.js","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2D;AAE3D,8CAAgC;AAChC,4DAAkE;
|
|
1
|
+
{"version":3,"file":"rabbitmq-publisher.service.js","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.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.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "Funções utilitárias para trabalhar com RabbitMQ",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -44,9 +44,10 @@
|
|
|
44
44
|
"typescript": "^5.6.2"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@cargolift-cdi/types": "^0.1.4",
|
|
47
48
|
"@cargolift-cdi/util-logger": "^1.8.10",
|
|
48
49
|
"@nestjs/common": "^11.1.6",
|
|
49
50
|
"@nestjs/microservices": "^11.1.6",
|
|
50
51
|
"amqplib": "^0.10.9"
|
|
51
52
|
}
|
|
52
|
-
}
|
|
53
|
+
}
|