---
url: https://node-ts.github.io/bus/api/bus-core/classes/DefaultRetryStrategy.md
---
[API reference](../../index.md) / [@node-ts/bus-core](../index.md) / DefaultRetryStrategy

# Class: DefaultRetryStrategy

Defined in: [packages/bus-core/src/retry-strategy/default-retry-strategy.ts:11](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-core/src/retry-strategy/default-retry-strategy.ts#L11)

A default message retry strategy that exponentially increases the delay between retries
from 5ms to 2.5 hrs for the first 10 attempts. Each retry delay includes a jitter of
up to 10% to avoid deadlock-related errors from continually blocking.

## Implements

* [`RetryStrategy`](../interfaces/RetryStrategy.md)

## Constructors

### Constructor

```ts
new DefaultRetryStrategy(): DefaultRetryStrategy;
```

#### Returns

`DefaultRetryStrategy`

## Methods

### calculateRetryDelay()

```ts
calculateRetryDelay(currentAttempt): number;
```

Defined in: [packages/bus-core/src/retry-strategy/default-retry-strategy.ts:12](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-core/src/retry-strategy/default-retry-strategy.ts#L12)

Calculate the delay between retrying a failed message

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `currentAttempt` | `number` | How many attempts at handling the message have failed |

#### Returns

`number`

The number of milliseconds to delay retrying a failed message attempt

#### Implementation of

[`RetryStrategy`](../interfaces/RetryStrategy.md).[`calculateRetryDelay`](../interfaces/RetryStrategy.md#calculateretrydelay)
