1.3.14 • Published 8 months ago

@rc-ex/retry v1.3.14

Weekly downloads
113
License
MIT
Repository
github
Last release
8 months ago

Retry Extension

Retry API calls upon RestException

Install

yarn add @rc-ex/retry

Usage

import RingCentral from '@rc-ex/core';
import RetryExtension from '@rc-ex/retry';

const rc = new RingCentral(...);
const retryExtension = new RetryExtension(retryOptions);
await rc.installExtension(retryExtension);

Options

RetryOptions

RetryExtension constructor accepts optional RetryOptions as parameter:

type RetryOptions = {
  shouldRetry?: ShouldRetry;
  retryInterval?: RetryInterval;
};

ShouldRetry

ShouldRetry defines condition about should retry or abort:

type ShouldRetry = (restException: RestException, retriesAttempted: number) => boolean;

By default, ShouldRetry returns true when restException.response.status is 429 or 503 and retriesAttempted is smaller than 3:

(restException, retriesAttempted) => {
  return retriesAttempted < 3 && [429, 503].includes(restException.response.status);
};

RetryInterval

RetryInterval defines how long should wait before try:

type RetryInterval = (restException: RestException, retriesAttempted: number) => number;

By default RetryInterval is 60 seconds with exponential back off:

(restException, retriesAttempted) => {
  return 60 * 1000 * Math.pow(2, retriesAttempted); // exponential back off
};
1.2.0

10 months ago

1.2.2

10 months ago

1.2.1

10 months ago

1.3.9

10 months ago

1.3.10

9 months ago

1.3.13

9 months ago

1.3.14

8 months ago

1.3.11

9 months ago

1.3.12

9 months ago

1.3.7

10 months ago

1.3.6

10 months ago

1.3.5

10 months ago

1.3.4

10 months ago

1.3.2

10 months ago

1.3.1

10 months ago

1.3.0

10 months ago

1.1.18

1 year ago

1.1.17

1 year ago

1.1.16

1 year ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.12

2 years ago

1.1.13

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.1

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.1.0

3 years ago

1.0.10

3 years ago

1.0.5-alpha.0

3 years ago

1.0.4-alpha.0

3 years ago

1.0.0-alpha.1

3 years ago

1.0.0-alpha.0

3 years ago

1.0.2-alpha.0

3 years ago

1.0.1-alpha.0

3 years ago

1.0.3-alpha.0

3 years ago

0.9.3

3 years ago

0.9.2

3 years ago

0.9.0

3 years ago

0.9.1

3 years ago

0.8.2

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.7.20

4 years ago

0.7.19

4 years ago

0.7.18

4 years ago

0.7.17

4 years ago

0.7.16

4 years ago

0.7.15

4 years ago

0.7.14

4 years ago

0.7.12

4 years ago

0.7.11

4 years ago

0.7.10

4 years ago

0.7.9

5 years ago

0.7.8

5 years ago

0.7.7

5 years ago

0.7.6

5 years ago

0.7.5

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.6.9

5 years ago

0.6.10

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.8

5 years ago

0.6.7

5 years ago

0.6.6

5 years ago

0.6.5

5 years ago

0.6.4

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.9

5 years ago

0.5.8

5 years ago

0.5.7

5 years ago

0.5.6

5 years ago

0.5.5

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.12

5 years ago

0.4.11

5 years ago

0.4.10

5 years ago

0.4.9

5 years ago

0.4.8

5 years ago

0.4.7

5 years ago

0.4.6

5 years ago

0.4.5

5 years ago

0.4.4

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago