From cdfdb481272996d6d4fdc76fc5a587c3c6d667f9 Mon Sep 17 00:00:00 2001 From: Tony Power Date: Thu, 14 Dec 2023 10:28:34 +0000 Subject: [PATCH] Fix amqp reconnect function timeout handling (#185) * use a dedicated timeout ID variable to manage and clear the reconnection timeout * this prevents stacked reconnection attempts by ensuring the timeout is cleared on successful reconnect --- lib/outputs/output_amqp.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/outputs/output_amqp.js b/lib/outputs/output_amqp.js index e24fa085..3510d3c6 100644 --- a/lib/outputs/output_amqp.js +++ b/lib/outputs/output_amqp.js @@ -119,11 +119,11 @@ OutputAmqp.prototype.publish = function(message,options){ OutputAmqp.prototype.reconnect = function() { let self = this; - setTimeout(()=>{ + self.reconnectTimeoutId = setTimeout(() => { self.connect().then(() => { - clearTimeout(self.reconnect); + clearTimeout(self.reconnectTimeoutId); }).catch((err) => console.error(err)); - },self.retry_delay); + }, self.retry_delay); }; OutputAmqp.prototype.connect = function(){