From a3258d5fbb5635abb77828f64a2dfcd54ac7cdb4 Mon Sep 17 00:00:00 2001 From: delucca Date: Fri, 10 Jun 2022 16:21:14 -0400 Subject: [PATCH 1/2] fix(microservices): adds logging to failed rmq connection --- packages/microservices/constants.ts | 3 +++ packages/microservices/server/server-rmq.ts | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/microservices/constants.ts b/packages/microservices/constants.ts index 3e65795a70d..96f8b2fa331 100644 --- a/packages/microservices/constants.ts +++ b/packages/microservices/constants.ts @@ -52,3 +52,6 @@ export const MQTT_WILDCARD_ALL = '#'; export const ECONNREFUSED = 'ECONNREFUSED'; export const CONN_ERR = 'CONN_ERR'; export const EADDRINUSE = 'EADDRINUSE'; + +export const CONNECTION_FAILED_MESSAGE = + 'Connection to transport failed. Trying to reconnect...'; diff --git a/packages/microservices/server/server-rmq.ts b/packages/microservices/server/server-rmq.ts index becc255bd79..18ca16eb96d 100644 --- a/packages/microservices/server/server-rmq.ts +++ b/packages/microservices/server/server-rmq.ts @@ -5,8 +5,10 @@ import { } from '@nestjs/common/utils/shared.utils'; import { CONNECT_EVENT, - DISCONNECTED_RMQ_MESSAGE, + CONNECT_FAILED_EVENT, + CONNECTION_FAILED_MESSAGE, DISCONNECT_EVENT, + DISCONNECTED_RMQ_MESSAGE, NO_MESSAGE_HANDLER, RQM_DEFAULT_IS_GLOBAL_PREFETCH_COUNT, RQM_DEFAULT_NOACK, @@ -95,6 +97,10 @@ export class ServerRMQ extends Server implements CustomTransportStrategy { this.logger.error(DISCONNECTED_RMQ_MESSAGE); this.logger.error(err); }); + this.server.on(CONNECT_FAILED_EVENT, (err: any) => { + this.logger.error(CONNECTION_FAILED_MESSAGE); + this.logger.error(err); + }); } public createClient(): T { From c9f5f01e69e71fcb59117e99dec3a5a326026c45 Mon Sep 17 00:00:00 2001 From: delucca Date: Fri, 10 Jun 2022 16:39:17 -0400 Subject: [PATCH 2/2] fix(microservices): adds unit test to rmq server --- packages/microservices/test/server/server-rmq.spec.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/microservices/test/server/server-rmq.spec.ts b/packages/microservices/test/server/server-rmq.spec.ts index 5a0ded6272d..085e4d795b9 100644 --- a/packages/microservices/test/server/server-rmq.spec.ts +++ b/packages/microservices/test/server/server-rmq.spec.ts @@ -52,6 +52,10 @@ describe('ServerRMQ', () => { server.listen(callbackSpy); expect(onStub.getCall(1).args[0]).to.be.equal('disconnect'); }); + it('should bind "connectFailed" event to handler', () => { + server.listen(callbackSpy); + expect(onStub.getCall(2).args[0]).to.be.equal('connectFailed'); + }); describe('when "start" throws an exception', () => { it('should call callback with a thrown error as an argument', () => { const error = new Error('random error');