retry

package
v3.21.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2022 License: Apache-2.0 Imports: 7 Imported by: 3

Documentation

Index

Constants

View Source
const (
	TypeNoBackoff   = backoff.TypeNoBackoff
	TypeFastBackoff = backoff.TypeFast
	TypeSlowBackoff = backoff.TypeSlow
)

Variables

View Source
var (
	// FastBackoff is a default fast backoff object
	//
	// Deprecated: don't use explicit it, will be removed at next major release.
	// Use retry.Backoff constructor instead
	FastBackoff = backoff.Fast

	// SlowBackoff is a default fast backoff object
	//
	// Deprecated: don't use explicit it, will be removed at next major release.
	// Use retry.Backoff constructor instead
	SlowBackoff = backoff.Slow
)

Functions

func Backoff

func Backoff(slotDuration time.Duration, ceiling uint, jitterLimit float64) backoff.Backoff

Backoff makes backoff object with custom params

func Check

func Check(err error) (m retry.Mode)

Check returns retry mode for err.

func IsOperationIdempotent

func IsOperationIdempotent(ctx context.Context) bool

IsOperationIdempotent returns the flag for retry with no idempotent errors Deprecated: context cannot store idempotent value now

func Retry

func Retry(ctx context.Context, op retryOperation, opts ...retryOption) (err error)

Retry provide the best effort fo retrying operation

Retry implements internal busy loop until one of the following conditions is met:

- context was canceled or deadlined

- retry operation returned nil as error

Warning: if deadline without deadline or cancellation func Retry will be worked infinite

If you need to retry your op func on some logic errors - you must return RetryableError() from retryOperation

func RetryableError added in v3.7.0

func RetryableError(err error, opts ...retryableErrorOption) error

RetryableError makes retryable error from options RetryableError provides retrying on custom errors

func WithBackoff added in v3.7.0

func WithBackoff(t backoff.Type) retryableErrorOption

WithBackoff makes retryable error option with custom backoff type

func WithDeleteSession added in v3.7.0

func WithDeleteSession() retryableErrorOption

WithDeleteSession makes retryable error option with delete session flag

func WithFastBackoff added in v3.15.0

func WithFastBackoff(b backoff.Backoff) retryOption

WithFastBackoff replaces default fast backoff

func WithID added in v3.10.0

func WithID(id string) retryOption

WithID applies id for identification call Retry in trace.Retry.OnRetry

func WithIdempotent added in v3.10.0

func WithIdempotent(idempotent bool) retryOption

WithIdempotent applies idempotent flag to retry operation

func WithIdempotentOperation

func WithIdempotentOperation(ctx context.Context) context.Context

WithIdempotentOperation returns a copy of parent context with idempotent operation feature Deprecated: use retry.WithIdempotent option instead

func WithNonIdempotentOperation

func WithNonIdempotentOperation(ctx context.Context) context.Context

WithNonIdempotentOperation returns a copy of parent context with non-idempotent operation feature Deprecated: idempotent flag is false by default

func WithPanicCallback added in v3.18.3

func WithPanicCallback(panicCallback func(e interface{})) retryOption

WithPanicCallback returns panic callback option If not defined - panic would not intercept with driver

func WithSlowBackoff added in v3.15.0

func WithSlowBackoff(b backoff.Backoff) retryOption

WithSlowBackoff replaces default slow backoff

func WithTrace added in v3.10.0

func WithTrace(trace trace.Retry) retryOption

WithTrace returns trace option

Types

This section is empty.

Jump to

Keyboard shortcuts

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