task

package
v0.11.9 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2021 License: Apache-2.0 Imports: 6 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Element

type Element struct {
	Key       interface{}
	Timestamp int64
}

Element represents one item of the queue

type Queue

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

Queue manages a time work queue through an independent worker that invokes the given sync function for every work item inserted. The queue uses an internal timestamp that allows the removal of certain elements which timestamp is older than the last successful get operation.

func NewCustomTaskQueue

func NewCustomTaskQueue(syncFn func(interface{}) error, fn func(interface{}) (interface{}, error)) *Queue

NewCustomTaskQueue ...

func NewTaskQueue

func NewTaskQueue(syncFn func(interface{}) error) *Queue

NewTaskQueue creates a new task queue with the given sync function. The sync function is called for every element inserted into the queue.

func (*Queue) Enqueue

func (t *Queue) Enqueue(obj interface{})

Enqueue enqueues ns/name of the given api object in the task queue.

func (*Queue) IsShuttingDown

func (t *Queue) IsShuttingDown() bool

IsShuttingDown returns if the method Shutdown was invoked

func (*Queue) Run

func (t *Queue) Run(period time.Duration, stopCh <-chan struct{})

Run ...

func (*Queue) Shutdown

func (t *Queue) Shutdown()

Shutdown shuts down the work queue and waits for the worker to ACK

Jump to

Keyboard shortcuts

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