amqp-connection-manager
Advanced tools
Comparing version 3.2.4 to 3.3.0
@@ -1,1 +0,1 @@ | ||
{"processes":{"04c68bc0-350a-4b26-85f9-8270846392ff":{"parent":null,"children":[]},"6c798ce9-a4b3-4959-9c25-92f7b331758f":{"parent":null,"children":[]}},"files":{"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/ChannelWrapper.js":["04c68bc0-350a-4b26-85f9-8270846392ff","6c798ce9-a4b3-4959-9c25-92f7b331758f"],"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/helpers.js":["04c68bc0-350a-4b26-85f9-8270846392ff","6c798ce9-a4b3-4959-9c25-92f7b331758f"],"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/AmqpConnectionManager.js":["04c68bc0-350a-4b26-85f9-8270846392ff","6c798ce9-a4b3-4959-9c25-92f7b331758f"],"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/index.js":["04c68bc0-350a-4b26-85f9-8270846392ff","6c798ce9-a4b3-4959-9c25-92f7b331758f"]},"externalIds":{}} | ||
{"processes":{"12a2aadc-6079-47c8-9c87-12cb55618ac7":{"parent":null,"children":[]},"657c1166-40fb-402c-bd2b-38f853e3be54":{"parent":null,"children":[]}},"files":{"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/ChannelWrapper.js":["12a2aadc-6079-47c8-9c87-12cb55618ac7","657c1166-40fb-402c-bd2b-38f853e3be54"],"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/helpers.js":["12a2aadc-6079-47c8-9c87-12cb55618ac7","657c1166-40fb-402c-bd2b-38f853e3be54"],"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/AmqpConnectionManager.js":["12a2aadc-6079-47c8-9c87-12cb55618ac7","657c1166-40fb-402c-bd2b-38f853e3be54"],"/home/runner/work/node-amqp-connection-manager/node-amqp-connection-manager/src/index.js":["12a2aadc-6079-47c8-9c87-12cb55618ac7","657c1166-40fb-402c-bd2b-38f853e3be54"]},"externalIds":{}} |
@@ -0,1 +1,12 @@ | ||
# [3.3.0](https://github.com/jwalton/node-amqp-connection-manager/compare/v3.2.4...v3.3.0) (2021-08-24) | ||
### Bug Fixes | ||
- emit setup errors not caused by closed channel ([7c5fe10](https://github.com/jwalton/node-amqp-connection-manager/commit/7c5fe104c5333086a8b06bc28f451b4f22cc489d)), closes [#95](https://github.com/jwalton/node-amqp-connection-manager/issues/95) | ||
- setup on channel/connection closing/closed ([b21bd01](https://github.com/jwalton/node-amqp-connection-manager/commit/b21bd0173dc60712cedfd398161e52b6f621bf2a)) | ||
### Features | ||
- immediately reconnect on amqplib connect timeout ([ad06108](https://github.com/jwalton/node-amqp-connection-manager/commit/ad0610878f0aba27cc5078a6d1e61420a77b7965)) | ||
## [3.2.4](https://github.com/jwalton/node-amqp-connection-manager/compare/v3.2.3...v3.2.4) (2021-08-23) | ||
@@ -2,0 +13,0 @@ |
@@ -34,2 +34,4 @@ "use strict"; | ||
// * `disconnect({err})` - Emitted whenever we disconnect from a broker. | ||
// * `blocked({reason})` - Emitted whenever connection is blocked by a broker. | ||
// * `unblocked()` - Emitted whenever connection is unblocked by a broker. | ||
// | ||
@@ -218,5 +220,11 @@ | ||
this._currentConnection = null; | ||
this._connectPromise = null; // TODO: Probably want to try right away here, especially if there are multiple brokers to try... | ||
this._connectPromise = null; | ||
let handle; | ||
const handle = (0, _helpers.wait)(this.reconnectTimeInSeconds * 1000); | ||
if (err.name === 'OperationalError' && err.message === 'connect ETIMEDOUT') { | ||
handle = (0, _helpers.wait)(0); | ||
} else { | ||
handle = (0, _helpers.wait)(this.reconnectTimeInSeconds * 1000); | ||
} | ||
this._cancelRetriesHandler = handle.cancel; | ||
@@ -223,0 +231,0 @@ return handle.promise().then(() => this._connect()); |
@@ -227,8 +227,10 @@ "use strict"; | ||
_promiseBreaker.default.call(setupFn, this, channel).catch(err => { | ||
if (this._channel) { | ||
this.emit('error', err, { | ||
name: this.name | ||
}); | ||
} else {// Don't emit an error if setups failed because the channel was closing. | ||
if (err.name === 'IllegalOperationError') { | ||
// Don't emit an error if setups failed because the channel closed. | ||
return; | ||
} | ||
this.emit('error', err, { | ||
name: this.name | ||
}); | ||
}))).then(() => { | ||
@@ -396,10 +398,10 @@ this._settingUp = null; | ||
if (!this._channel && this._canWaitReconnection()) { | ||
// Tried to write to a closed channel. Leave the message in the queue and we'll try again when we | ||
// reconnect. | ||
// Tried to write to a closed channel. Leave the message in the queue and we'll try again when | ||
// we reconnect. | ||
removeUnconfirmedMessage(this._unconfirmedMessages, message); | ||
this._messages.unshift(message); | ||
this._messages.push(message); | ||
} else { | ||
// Something went wrong trying to send this message - could be JSON.stringify failed, could be the | ||
// broker rejected the message. Either way, reject it back | ||
// Something went wrong trying to send this message - could be JSON.stringify failed, could be | ||
// the broker rejected the message. Either way, reject it back | ||
removeUnconfirmedMessage(this._unconfirmedMessages, message); | ||
@@ -406,0 +408,0 @@ message.reject(err); |
{ | ||
"name": "amqp-connection-manager", | ||
"version": "3.2.4", | ||
"version": "3.3.0", | ||
"description": "Auto-reconnect and round robin support for amqplib.", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -123,2 +123,4 @@ # amqp-connection-manager | ||
- `disconnect({err})` - Emitted whenever we disconnect from a broker. | ||
- `blocked({reason})` - Emitted whenever a connection is blocked by a broker | ||
- `unblocked` - Emitted whenever a connection is unblocked by a broker | ||
@@ -125,0 +127,0 @@ ### AmqpConnectionManager#createChannel(options) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
208819
658
198