task

package
v0.0.0-...-8b67118 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2026 License: MPL-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close(v interface{}) func() error

Close returns a func() that closes v.

func OnSuccess

func OnSuccess(f func() error, g func() error) func() error

OnSuccess executes g() after f() returns nil.

func ParallelForN

func ParallelForN(n int, fn func(i int) error) error

ParallelForN runs fn(0..n-1) in parallel across runtime.GOMAXPROCS(0) worker goroutines. Indices are partitioned into contiguous chunks so the number of spawned goroutines stays bounded regardless of n.

fn must be safe to call concurrently from different goroutines (each call receives its own unique index). Output collected by writing to indexed slots in a pre-allocated slice is a common safe pattern.

Returns the first non-nil error reported by fn; other workers may still be finishing briefly afterwards.

func Run

func Run(ctx context.Context, tasks ...func() error) error

Run executes a list of tasks in parallel, returns the first error encountered or nil if all tasks pass.

Types

type Periodic

type Periodic struct {
	// Interval of the task being run
	Interval time.Duration
	// Execute is the task function
	Execute func() error
	// contains filtered or unexported fields
}

Periodic is a task that runs periodically.

func (*Periodic) Close

func (t *Periodic) Close() error

Close implements common.Closable.

func (*Periodic) Start

func (t *Periodic) Start() error

Start implements common.Runnable.

Jump to

Keyboard shortcuts

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