Function: http.default_retry_predicate_non_idempotent

Simple default retry predicate for non-idempotent targets.

If your target is idempotent, use default_retry_predicate instead.

Retries on 429 (Too Many Requests) and 503 (Service Unavailable), as well as on ConnectionFailedError.

For more information, see Retry steps.

Arguments

Arguments
exception The error to apply the retry criterion upon.

Returns

true when the retry criterion is satisfied, false otherwise.

Examples

# Use default predicate for non-idempotent steps
# and define custom configuration values
- step_name:
    try:
      steps:
        - send_message:
            call: http.post
            args:
              url: https://www.example.com/endpoint
              body:
                some_val: "Hello World"
                another_val: 123
            result: the_message
        - return_value:
            return: ${the_message.body}
    retry:
      predicate: ${http.default_retry_predicate_non_idempotent}
      max_retries: 10
      backoff:
        initial_delay: 1
        max_delay: 90
        multiplier: 3