queueutils

package
v0.56.1 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BatchConcurrent

func BatchConcurrent[T any](batchSize int, things []T, fn func(group []T) error) error

func BatchLinear

func BatchLinear[T any](batchSize int, things []T, fn func(group []T) error) error

func SleepWithExponentialBackoff

func SleepWithExponentialBackoff(base, max time.Duration, retryCount int)

SleepWithExponentialBackoff sleeps for a duration calculated using exponential backoff and jitter, based on the retry count. The base sleep time and maximum sleep time are provided as inputs. retryCount determines the exponential backoff multiplier.

Types

type OpMethod

type OpMethod func(ctx context.Context, id string) (bool, error)

type OperationPool

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

func NewOperationPool

func NewOperationPool(ql *zerolog.Logger, timeout time.Duration, description string, method OpMethod) *OperationPool

func (*OperationPool) GetOperation

func (p *OperationPool) GetOperation(id string) *SerialOperation

func (*OperationPool) RunOrContinue

func (p *OperationPool) RunOrContinue(id string)

func (*OperationPool) SetTenants

func (p *OperationPool) SetTenants(tenants []*dbsqlc.Tenant)

type SerialOperation

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

SerialOperation represents a method that can only run serially.

func (*SerialOperation) Run

func (o *SerialOperation) Run(ql *zerolog.Logger)

func (*SerialOperation) RunOrContinue

func (o *SerialOperation) RunOrContinue(ql *zerolog.Logger)

Jump to

Keyboard shortcuts

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