retry

package
v3.42.3 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2023 License: Apache-2.0 Imports: 10 Imported by: 3

Documentation

Index

Constants

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

Variables

This section is empty.

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 retryMode)

Check returns retry mode for queryErr.

func Do added in v3.34.2

func Do(ctx context.Context, db *sql.DB, f func(ctx context.Context, cc *sql.Conn) error, opts ...doOption) error

Do is a retryer of database/sql Conn with fallbacks on errors

func DoTx added in v3.33.0

func DoTx(ctx context.Context, db *sql.DB, f func(context.Context, *sql.Tx) error, opts ...doTxOption) error

DoTx is a retryer of database/sql transactions with fallbacks on errors

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 WithDoRetryOptions added in v3.34.2

func WithDoRetryOptions(opts ...retryOption) doOption

WithDoRetryOptions specified retry options

func WithDoTxRetryOptions added in v3.34.2

func WithDoTxRetryOptions(opts ...retryOption) doTxOption

WithDoTxRetryOptions specified retry options

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 WithStackTrace added in v3.24.1

func WithStackTrace() retryOption

WithStackTrace wraps errors with stacktrace from Retry call

func WithTrace added in v3.10.0

func WithTrace(trace trace.Retry) retryOption

WithTrace returns trace option

func WithTxOptions added in v3.33.0

func WithTxOptions(txOptions *sql.TxOptions) doTxOption

WithTxOptions specified transaction options

Types

This section is empty.

Jump to

Keyboard shortcuts

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