Action that retries failed actions with exponential backoff

Example

// Basic retry with defaults
await runAction({
ActionName: 'Retry',
Params: [{
Name: 'Action',
Value: {
ActionName: 'HTTP Request',
Params: { URL: 'https://api.example.com/data' }
}
}]
});

// Advanced retry with custom configuration
await runAction({
ActionName: 'Retry',
Params: [{
Name: 'Action',
Value: {
ActionName: 'Database Query',
Params: { Query: 'SELECT * FROM orders' }
}
}, {
Name: 'MaxRetries',
Value: 5
}, {
Name: 'RetryDelay',
Value: 2000
}, {
Name: 'BackoffMultiplier',
Value: 2
}, {
Name: 'RetryOn',
Value: ['TIMEOUT', 'CONNECTION_ERROR']
}, {
Name: 'GiveUpOn',
Value: ['INVALID_CREDENTIALS', 'NOT_FOUND']
}]
});

Hierarchy (view full)

Constructors

Methods

  • Retries failed actions with exponential backoff

    Parameters

    • params: RunActionParams<any>

      The action parameters containing:

      • Action: Action configuration to retry (required)
      • MaxRetries: Maximum number of retry attempts (default: 3)
      • RetryDelay: Initial delay in milliseconds (default: 1000)
      • BackoffMultiplier: Multiplier for exponential backoff (default: 2)
      • MaxDelay: Maximum delay between retries in ms (default: 30000)
      • UseJitter: Add random jitter to delays (default: true)
      • RetryOn: Array of error codes to retry on (optional - retries all by default)
      • GiveUpOn: Array of error codes to not retry (optional)

    Returns Promise<ActionResultSimple>

    Result of the successful action or final failure

  • Executes the action with the provided parameters.

    Parameters

    • params: RunActionParams<any>

      The action execution parameters including context

    Returns Promise<ActionResultSimple>

    Promise resolving to the action result