package retry
import "k8s.io/client-go/util/retry"
Index ¶
- Variables
- func OnError(backoff wait.Backoff, errorFunc func(error) bool, fn func() error) error
- func RetryOnConflict(backoff wait.Backoff, fn func() error) error
Variables ¶
var DefaultBackoff = wait.Backoff{ Steps: 4, Duration: 10 * time.Millisecond, Factor: 5.0, Jitter: 0.1, }
DefaultBackoff is the recommended backoff for a conflict where a client may be attempting to make an unrelated modification to a resource under active management by one or more controllers.
var DefaultRetry = wait.Backoff{ Steps: 5, Duration: 10 * time.Millisecond, Factor: 1.0, Jitter: 0.1, }
DefaultRetry is the recommended retry for a conflict where multiple clients are making changes to the same resource.
Functions ¶
func OnError ¶
OnError executes the provided function repeatedly, retrying if the server returns a specified error. Callers should preserve previous executions if they wish to retry changes. It performs an exponential backoff.
var pod *api.Pod err := retry.OnError(DefaultBackoff, errors.IsConflict, func() (err error) { pod, err = c.Pods("mynamespace").UpdateStatus(podStatus) return }) if err != nil { // may be conflict if max retries were hit return err } ...
TODO: Make Backoff an interface?
func RetryOnConflict ¶
RetryOnConflict executes the function function repeatedly, retrying if the server returns a conflicting
Source Files ¶
util.go
- Version
- v0.16.12-rc.1
- Published
- Jun 25, 2020
- Platform
- js/wasm
- Imports
- 3 packages
- Last checked
- 58 seconds ago –
Tools for package owners.