Handle callback retries with incremental backoff and timeout support.
$ npm install retry-backoff --save
const createRetryBackoff = require('retry-backoff')
function fn (cb) {
setTimeout(function () {
return cb(null, {foo: 'bar'})
}, 1000)
}
const retryBackoff = createRetryBackoff()
retryBackoff(fn, function (err, result) {
if (err) throw err
retryBackoff.reset()
console.log(result) // => {foo: 'bar'}
})
If you need to see low level logs, enable it using DEBUG=retry-backoff
.
Creates a backoff function.
Type: number
Default: 30000
Setup the time (in milliseconds) after consider a request timeout.
Type: number
Default: 3
Number of retries before throw a final error.
Type: function
Default: 1000 * Math.pow(2, retry) + Math.random() * 100
The method uses for calculate the incremental delay between sucesive calls, where retry
is attempt number (starts from 0).
Restart the retries
counter.
MIT © AudienseCo