Interface RetryProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
RetryProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-11T23:26:41.919Z") @Stability(Stable) public interface RetryProps extends software.amazon.jsii.JsiiSerializable
Retry details.

Example:

 Parallel parallel = new Parallel(this, "Do the work in parallel");
 // Add branches to be executed in parallel
 Pass shipItem = new Pass(this, "ShipItem");
 Pass sendInvoice = new Pass(this, "SendInvoice");
 Pass restock = new Pass(this, "Restock");
 parallel.branch(shipItem);
 parallel.branch(sendInvoice);
 parallel.branch(restock);
 // Retry the whole workflow if something goes wrong with exponential backoff
 parallel.addRetry(RetryProps.builder()
         .maxAttempts(1)
         .maxDelay(Duration.seconds(5))
         .jitterStrategy(JitterType.FULL)
         .build());
 // How to recover from errors
 Pass sendFailureNotification = new Pass(this, "SendFailureNotification");
 parallel.addCatch(sendFailureNotification);
 // What to do in case everything succeeded
 Pass closeOrder = new Pass(this, "CloseOrder");
 parallel.next(closeOrder);
 
  • Method Details

    • getBackoffRate

      @Stability(Stable) @Nullable default Number getBackoffRate()
      Multiplication for how much longer the wait interval gets on every retry.

      Default: 2

    • getErrors

      @Stability(Stable) @Nullable default List<String> getErrors()
      Errors to retry.

      A list of error strings to retry, which can be either predefined errors (for example Errors.NoChoiceMatched) or a self-defined error.

      Default: All errors

    • getInterval

      @Stability(Stable) @Nullable default Duration getInterval()
      How many seconds to wait initially before retrying.

      Default: Duration.seconds(1)

    • getJitterStrategy

      @Stability(Stable) @Nullable default JitterType getJitterStrategy()
      Introduces a randomization over the retry interval.

      Default: - No jitter strategy

    • getMaxAttempts

      @Stability(Stable) @Nullable default Number getMaxAttempts()
      How many times to retry this particular error.

      May be 0 to disable retry for specific errors (in case you have a catch-all retry policy).

      Default: 3

    • getMaxDelay

      @Stability(Stable) @Nullable default Duration getMaxDelay()
      Maximum limit on retry interval growth during exponential backoff.

      Default: - No max delay

    • builder

      @Stability(Stable) static RetryProps.Builder builder()
      Returns:
      a RetryProps.Builder of RetryProps