7.1.1 • Published 4 months ago

retry-as-promised v7.1.1

Weekly downloads
886,954
License
MIT
Repository
github
Last release
4 months ago

retry-as-promised

Retry promises when they fail

Installation

$ npm install --save retry-as-promised
$ yarn add retry-as-promised

Configuration

var retry = require('retry-as-promised').default;

var warningFn = function(msg){ someLoggingFunction(msg, 'notice'); };

// Will call the until max retries or the promise is resolved.
return retry(function (options) {
  // options.current, times callback has been called including this call
  return promise;
}, {
  max: 3, // maximum amount of tries
  timeout: 10000 // throw if no response or error within millisecond timeout, default: undefined,
  match: [ // Must match error signature (ala bluebird catch) to continue
    Sequelize.ConnectionError,
    'SQLITE_BUSY'
  ],
  backoffBase: 1000 // Initial backoff duration in ms. Default: 100,
  backoffExponent: 1.5 // Exponent to increase backoff each try. Default: 1.1
  backoffJitter: 150 // Amount of randomized jitter in ms to add to retry interval to spread retries out over time. Default: 0.0.
  report: warningFn, // the function used for reporting; must have a (string, object) argument signature, where string is the message that will passed in by retry-as-promised, and the object will be this configuration object + the $current property
  name:  'SourceX' // if user supplies string, it will be used when composing error/reporting messages; else if retry gets a callback, uses callback name in erroring/reporting; else (default) uses literal string 'unknown'
});

Tested with

  • Bluebird
  • Q
content-ingest-images-v1@infinitebrahmanuniverse/nolb-retr@everything-registry/sub-chunk-2661@zcut/sequelizetamidi-sequelize-corewhitehatjr-sequelizewhitehatjr-sequelize-ormwi-sequelizeteapackage-tatespoorman297veirryau-sequelize@cond/sequelize@darkotech/sequelize@cannypack/sequelizejonmagic-sequelizekidal-sequelizek4-base-bridgesequelize-working-pooltyped-backend@blackamda/sequelize@bluaxolotl/sequelize@bibletags/bibletags-data@abradley2/sequelize@abeai/sequelize-native-promises@datasance/iofogcontroller@creditiq/sequelizexysequelizets-sequelize@heisian/sequelize@fogine/sequelize@hscloud/sequelize-dmdb@hwc/ts-sequelize@flowstudio/sequelize@infurnia/sequelize@kwanhs/sequelize-fork@mphelps/sequelize@mphelps/sequelize-fork@erdem3801/types-nodejs-orm@mn-tech/sequelize@iota-fork/sequelize@jazida/sequelize@joethefkingfrypan/sequelize@prosperitybot/database@sandbags-protocol/sequelize@oscarbarrett/sequelize-redshift@parmais/sequelize@soinlabs/sequelize@softbrains/sequelize@shiyuhao/fsdpdesktop@rematter/sequelize@sequelize/core@rickbergfalk/sequelizenw-classic-integrationonex-sequelizesequelize-websqlsequelize-with-clickhousesequelize-with-spatialitesequelize-wasmsequelize-webpacksequelize_mbasequelize_sunsoftsequelize_zzbsequelize-clickhouse-clientsequelize-electronsequelize-enovatesequelize-eplsequelize-datesequelize-dmsequelize-dm8sequelize-dmdbsequelize-core-papandreousequelize-db2sequelize-damengsequelize-damengdbsequelize-hokkoosequelize-hqsequelize-ibmdbsequelize-ibmisequelize-ftssequelize-fulltextsequelize-fulltext-searchsequelize-jssequelize-localsequelize-luuxissequelize-mariadb-json-fixrn-sequelizes-sequelizesequelizesequelize-8815sequelize-alphasequelize-mysql-sshsequelize-nextsequelize-offlinesequelize-orderby-mainquerysequelize-papandreousequelizelsequelizemssqlfixsequelizepgsequelize-v5sequelize-verbonode-cache-redis
7.1.1

4 months ago

7.1.0

4 months ago

7.0.4

2 years ago

7.0.0

3 years ago

7.0.3

3 years ago

7.0.2

3 years ago

7.0.1

3 years ago

6.1.0

3 years ago

6.0.0

3 years ago

5.0.0

3 years ago

4.0.0

4 years ago

3.2.0

6 years ago

3.1.0

7 years ago

3.0.0

7 years ago

2.3.2

8 years ago

2.3.1

8 years ago

2.3.0

8 years ago

2.2.0

9 years ago

2.1.0

9 years ago

2.0.1

9 years ago

2.0.0

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.0.1

10 years ago