Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
amqplib-auto-recovery
Advanced tools
Automatic connection recovery for amqplib. Node.js 6+.
npm install amqplib-auto-recovery --save
Wrap amqp client with auto recovery decorator (like shown below).
API stays absolutely the same as before *. The only difference is that amqp.connect(...)
's callback
will be executed each time (re)connection is attempted (exponential backoff is turned on by default).
const amqp = require('amqplib/callback_api');
const withAutoRecovery = require('amqplib-auto-recovery');
withAutoRecovery(amqp, {
// onError: (err) => { console.log(err.message) },
// isErrorUnrecoverable: (err) => false
// for more see src/amqplib-auto-recovery.js
}).connect("amqp://localhost", (err, con) => {
if (err) {
console.error(`Failed to connect (${err.message})`);
return
}
console.info("Connection established");
con.createChannel((err, ch) => {
if (err) {
console.error(`Failed to create a channel (${err.message})`);
return
}
ch.prefetch(1, false);
ch.assertQueue(consumer.queue, {durable: true});
ch.consume(consumer.queue, (msg) => {
// handle msg
});
});
});
* with exception to closed
property (added to connection/channel), which
might come in handy in situations like:
// ...
ch.consume(consumer.queue, (msg) => {
// simulating a long-running task
setTimeout(() => {
if (ch.closed) {
console.log("Channel had been closed before task was completed");
return
}
ch.ack(msg); // throws IllegalOperationError if channel is closed
// note that this is a standard amqplib behavior and not something
// introduced by amqplib-auto-recovery
}, 5000);
});
FAQs
Automatic connection recovery for amqplib
The npm package amqplib-auto-recovery receives a total of 90 weekly downloads. As such, amqplib-auto-recovery popularity was classified as not popular.
We found that amqplib-auto-recovery demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.