retry

package
v0.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package retry provides methods for retrying operations. It is a thin wrapper around k8s.io/apimachinery/pkg/util/wait to make certain operations easier.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ever added in v0.13.0

func Ever(ctx context.Context) bool

Ever returns true if the context was wrapped by Never.

func IsNotNil

func IsNotNil(err error) bool

IsNotNil returns true if err is not nil.

func IsTemporary

func IsTemporary(err error) bool

IsTemporary returns true if err implements Temporary() and it returns true.

func Never added in v0.13.0

func Never(ctx context.Context) context.Context

Never returns a context that signals something should not be retried. This is a hack and can be used to communicate across package boundaries to avoid retry amplification.

func Retry

func Retry(f func() error, p Predicate, backoff wait.Backoff) (err error)

Retry retries a given function, f, until a predicate is satisfied, using exponential backoff. If the predicate is never satisfied, it will return the last error returned by f.

Types

type Backoff

type Backoff = wait.Backoff

Backoff is an alias of our own wait.Backoff to avoid name conflicts with the kubernetes wait package. Typing retry.Backoff is aesier than fixing the wrong import every time you use wait.Backoff.

type Predicate

type Predicate func(error) (retry bool)

Predicate determines whether an error should be retried.

Directories

Path Synopsis
Package wait is a subset of k8s.io/apimachinery to avoid conflicts in dependencies (specifically, logging).
Package wait is a subset of k8s.io/apimachinery to avoid conflicts in dependencies (specifically, logging).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL