task

package module
v0.0.0-...-b9aabad Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parallel

func Parallel(ctx context.Context) *parallel

func Serial

func Serial(ctx context.Context) *serial

Types

type BackupTask

type BackupTask struct {
	Name               string
	Fun                func(ctx context.Context) error
	BackupTask         Task
	EnableRetry        bool
	RetryBackOffPolicy RetryBackOffPolicy
	Timeout            time.Duration
}

func (*BackupTask) Func

func (b *BackupTask) Func() func(ctx context.Context) error

type ExponentialRetryBackoffPolicy

type ExponentialRetryBackoffPolicy struct {
	Retry    int
	Duration time.Duration
}

ExponentialRetryBackoffPolicy 指数级递增重试

func (ExponentialRetryBackoffPolicy) MaxRetry

func (e ExponentialRetryBackoffPolicy) MaxRetry() int

func (ExponentialRetryBackoffPolicy) Next

func (e ExponentialRetryBackoffPolicy) Next(retryCount int) time.Duration

type FixedRetryBackoffPolicy

type FixedRetryBackoffPolicy struct {
	Retry    int
	Duration time.Duration
}

FixedRetryBackoffPolicy 固定重试时间

func (FixedRetryBackoffPolicy) MaxRetry

func (d FixedRetryBackoffPolicy) MaxRetry() int

func (FixedRetryBackoffPolicy) Next

func (d FixedRetryBackoffPolicy) Next(retryCount int) time.Duration

type NormalTask

type NormalTask struct {
	Name    string
	Timeout time.Duration
	Fun     func(ctx context.Context) error
}

func (*NormalTask) Func

func (n *NormalTask) Func() func(ctx context.Context) error

type RetryBackOffPolicy

type RetryBackOffPolicy interface {
	MaxRetry() int
	Next(retryCount int) time.Duration
}

type RetryableTask

type RetryableTask struct {
	// 任务名
	Name string
	// 执行函数
	Fun                func(ctx context.Context) error
	RetryBackoffPolicy RetryBackOffPolicy
	// 执行超时时间
	Timeout time.Duration
}

RetryableTask 可重试任务

func (*RetryableTask) Func

func (r *RetryableTask) Func() func(ctx context.Context) error

type Task

type Task interface {
	Func() func(ctx context.Context) error
	// contains filtered or unexported methods
}

type TerminatedTask

type TerminatedTask struct {
	// 任务名
	Name string
	// 执行函数
	Fun     func(ctx context.Context) error
	Timeout time.Duration
}

TerminatedTask 通过ctx发送取消信号,终止所有任务

func (*TerminatedTask) Func

func (t *TerminatedTask) Func() func(ctx context.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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