task

package
v0.1.106 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package task implements async task handling.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewWithContext added in v0.1.52

func NewWithContext(ctx context.Context) context.Context

NewWithContext derives a Context that carries a new Manager

func WithContext added in v0.1.52

func WithContext(ctx context.Context, m Manager) context.Context

WithContext derives a Context that carries the given Manager from ctx.

Types

type Manager

type Manager interface {

	// Start begins running background tasks with the provided context.
	Start(context.Context)

	// Run enqueues the task to run in the background.
	Run(Task)

	// RunFinalizer enqueues the task to run in the background after Shutdown.
	RunFinalizer(Task)

	// Shutdown instructs all the tasks to shutdown and waits until they've done
	// so.
	Shutdown()

	// ShutdownWithTimeout instructs all the tasks to shutdown and waits up until the timeout for them to complete.
	ShutdownWithTimeout(time.Duration)
	// contains filtered or unexported methods
}

Manager implements a task manager.

func FromContext

func FromContext(ctx context.Context) Manager

FromContext returns the Manager ctx carries. It panics in case ctx carries no Manager.

func New

func New() Manager

New initializes and returns a Manager which runs its tasks on the chain of the given parent context.

type Task

type Task func(context.Context)

Task wraps the set of tasks.

Jump to

Keyboard shortcuts

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