1.0.4 • Published 5 years ago

backoff.js v1.0.4

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

Backoff for Node.js

Fibonacci, exponential, fixed and linear backoffs for Node.js.

Installation

$ npm install backoff.js

Features

  • Fibonacci and exponential backoffs for Node.js.
  • Runs promise/callback/sync functions

Viewing Examples

let backoff = new Backoff({
    strategy: 'fixed', // fixed/expo/fibo/linear
    delay: 100,
    maxAttempts: 3
});
backoff.on('retry', (error, data) => {
    console.log(`retry -> strategy: ${data.strategy}, attempt: ${data.attempt}, delay: ${data.delay}, error: ${error.message}`);
});
backoff.on('failed', (error) => {
    console.log(`retry -> error: ${error.message}`);
});

// if your function is callback style, convert it to promise.
// e.g. util.promisify(func)

backoff.run(promiseFunction, { data: 'test' }).then(() => {
    console.log(`success`);
}).catch((err) => {
    console.log(`failed`);
});

Running Tests

npm test

License

This code is free to use under the terms of the MIT license.