Comments (7)
Hey Michal,
sorry for the long delay here, but I was on vacation.
Could you please provide some example code?
Best,
Tim
from node-retry.
Hey @michaelkariv
Did you see my reply?
from node-retry.
@michaelkariv I think it's working the same way. Assuming you have a task
object, which is an Event Listener emitting errors, and starting processing stuff after calling execute()
:
var operation = retry.operation();
var t = new Task();
t.on('error', function(err) {
operation.retry(err);
});
operation.attempt(function (currentAttempt) {
t.execute();
});
from node-retry.
Closing this. Feel free to re-open if our comments did not help.
from node-retry.
Based on @tim-kos answer here is a complete sample that checks for RabbitMQ + MongoDb connection using net
and only continues code exection when both connections are available.
var net = require('net');
var retry = require('retry');
var async = require('async');
function tryConnect(HOST, PORT, cb) {
var client = new net.Socket();
var operation = retry.operation();
var cbCalled = false;
client.on('error', function(err) {
console.log('error');
operation.retry(err);
});
operation.attempt(function (currentAttempt) {
client.connect(PORT, HOST, function(){
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
if(!cbCalled) {
cb();
cbCalled = true;
}
});
});
}
async.parallel(
[
function(cb) {
tryConnect('localhost', 5672, cb);
},
function(cb) {
tryConnect('localhost', 27017, cb);
}
],
function() {
console.log('both connected')
}
)
from node-retry.
@tim-kos Given the example above: How would I call the callback with an error if retry options are { retries : 2, factor: 1 }
and the call eventually fails in the end?
from node-retry.
Got it:
if(!operation.retry(err)) {
cb(err, null)
}
from node-retry.
Related Issues (20)
- [Feature Request] Add Promise Support HOT 6
- [Feature Request] CLI command support for shell users
- Update npm package version HOT 1
- [Docs] Question about factor
- [Bug] RetryOperation does not free errors correctly, causing "forever" operations to leak memory
- Needs keywords section is package.json HOT 1
- Unable to clear the current running timer and exit the retry loop HOT 4
- operation.reset() is somewhat unintuitive HOT 1
- Retry a http request HOT 1
- Include previous error even if there's a timeout
- It would be useful if the retry function returned the timout number HOT 4
- When is the next release (with changes from master) scheduled to go out to npm? HOT 4
- node-retry retry.operation is being called only once with jest.fn promise reject mocks HOT 1
- PR suggestion: withRetry wrapper HOT 1
- Missing current attempt in callback
- Typescript 4.4 breaking change affect retry HOT 1
- Check for infinity value in `retries` HOT 2
- Is this the way ? HOT 1
- Setting maxTimeout to undefined breaks minTimeout behavior
- Ability to set timeout for each retry?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-retry.