task

package
v0.0.296 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package task implements async task handling.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewContext

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

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

Types

type Manager

type Manager interface {

	// Run runs the task in its own goroutine.
	Run(Task)

	// Shutdown instructs all the tasks to shutdown and waits until they've done
	// so.
	Shutdown()
	// 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(parent context.Context) 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