Skip to content

Fibonacci, exponential and fixed backoffs for Node.js.

Notifications You must be signed in to change notification settings

nassiharel/backoff.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

const backoff = require('backoff.js');

const backoff = new Backoff({
    strategy: 'fixed', // fixed/expo/fibo/linear
    delay: 100,        // in ms
    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.

About

Fibonacci, exponential and fixed backoffs for Node.js.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published