1.4.0 • Published 7 years ago
auto-retry v1.4.0
auto-retry
Description
Automatically add exponential retry abilities to any function that returns a promise, only rejecting after the retries fail.
Installation
$ npm install auto-retry
Example
const requestPromise = require('request-promise');
const autoRetry = require('auto-retry');
// Construct a new function with automatic retry capabilities
const requestWithRetry = autoRetry(requestPromise);
// Make a request
requestWithRetry('http://www.vimeo.com')
.then((response) => {
// Process html as usual
})
.catch((error) => {
// Only called after 3 failed attempts
});
Documentation
autoRetry(fn, options) ⇒ function
Higher order function that makes any promise-returning-function retryable with a jitter'd exponential backoff.
Param | Type | Description |
---|---|---|
fn | function | Function to be made retryable. |
options | Object | Configuration. |
options.backoffBase | Number | Base interval for backoff wait time (in ms). |
options.logRetries | Boolen | Log retry attempts to the console. |
options.maxRetries | Number | Total number of retries. |
options.retryCount | Number | Current retry count. |
options.onRetry | function | Function to be called after each failed attempt. |
// Construct a new function to only retry once
const requestWithRetry = autoRetry(requestPromise, { maxRetries: 1 });
// Set a minimum backoff interval to 2 seconds
const requestWithRetry = autoRetry(requestPromise, { backoffBase: 2000 });