diff --git a/src/pulsar-config.js b/src/pulsar-config.js index 4d5a230..2e33dbd 100644 --- a/src/pulsar-config.js +++ b/src/pulsar-config.js @@ -1,6 +1,10 @@ module.exports = function(RED) { function PulsarConfigNode(n) { RED.nodes.createNode(this,n); + const node = this; + node.on('close', function() { + node.client && node.client.close(); + }); try { const Pulsar = require('pulsar-client'); this.client = new Pulsar.Client({ diff --git a/src/pulsar-consumer.js b/src/pulsar-consumer.js index 6b6d601..4f3fbb3 100644 --- a/src/pulsar-consumer.js +++ b/src/pulsar-consumer.js @@ -128,8 +128,7 @@ module.exports = function(RED) { node.producerConfig = producerConfig; node.on('close', async function() { - const self = this; - self.consumer && await self.consumer.close(); + node.consumer && await node.consumer.close(); }); node.status({fill: "red", shape: "dot", text: "disconnected"}); diff --git a/src/pulsar-producer.js b/src/pulsar-producer.js index 0f28af6..2a11e41 100644 --- a/src/pulsar-producer.js +++ b/src/pulsar-producer.js @@ -73,9 +73,8 @@ module.exports = function (RED) { } node.producerConfig = producerConfig; - node.on('close', async function() { - const self = this; - self.producer && await self.producer.close(); + node.on('close', function() { + node.producer && node.producer.close(); }); node.status({fill: "red", shape: "dot", text: "disconnected"}); @@ -104,7 +103,7 @@ module.exports = function (RED) { }; node.send(message); }).catch(e => { - node.debug('Error creating producer: ' + e); + node.error('Error creating producer: ' + e); node.status({fill: "red", shape: "dot", text: "Connection error"}); });