retry

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Do

func Do(ctx context.Context, fn func() error, opts ...Option) error

Do は、fn が成功するまで繰り返し実行します。 デフォルトだと、100ms の固定バックオフで最大 3 回リトライします。

Types

type Option

type Option func(*Options)

func WithConstantBackOff

func WithConstantBackOff(d time.Duration) Option

WithConstantBackOff は、定数バックオフを行うオプションです。

func WithExponentialBackoff

func WithExponentialBackoff(base time.Duration, max time.Duration) Option

WithExponentialBackoff は、指数バックオフを行うオプションです。 min((2^n * base), max) でリトライ間隔を計算し、リトライ間隔が max に到達した時点でリトライを打ち切ります。

func WithJitter

func WithJitter(max time.Duration) Option

WithJitter は、リトライ間隔をランダムに変動させるオプションです。 これにより、なんらかの状況によって多数のクライアントが同期され、再試行が同時に実行される状況を避けることができます。

func WithMaxRetries

func WithMaxRetries(n int) Option

WithMaxRetries は、最大リトライ回数を設定するオプションです。

type Options

type Options struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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