Retry steps using a custom retry policy for an HTTP status code

Implements a custom retry policy that retries HTTP requests that return an HTTP status code 202.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

YAML

main:
  steps:
    - read_item:
        try:
          steps:
            - callStep:
                call: http.get
                args:
                  url: https://host.com/api
                result: api_response
            - checkNotOK:
                switch:
                  - condition: ${api_response.code == 202}
                    raise: ${api_response}
        retry:
          predicate: ${custom_predicate}
          max_retries: 5
          backoff:
            initial_delay: 2
            max_delay: 60
            multiplier: 2

custom_predicate:
  params: [e]
  steps:
    - what_to_repeat:
        switch:
          - condition: ${e.code == 202}
            return: true
    - otherwise:
        return: false

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.