taskq

package
v0.0.0-...-28699d0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultRecover

func DefaultRecover()

func RegisterTaskHandler

func RegisterTaskHandler(name string, handler *TaskHandler)

Types

type DefaultLimiter

type DefaultLimiter struct{}

func (*DefaultLimiter) Acquire

func (*DefaultLimiter) Acquire()

func (*DefaultLimiter) Release

func (*DefaultLimiter) Release()

type ITaskQueue

type ITaskQueue interface {
	AddTask(context.Context, *Task) error
	CancelTask(context.Context, string) error
	StartConsumer()
	Close()
}

func NewTaskQueue

func NewTaskQueue(option *TaskQueueOption) ITaskQueue

type Limiter

type Limiter interface {
	Acquire()
	Release()
}

type Task

type Task struct {
	TaskID   string
	StreamID string
	Name     string
	Delay    time.Duration
	Arg      []byte
}

type TaskHandler

type TaskHandler struct {
	Handle  func(Arg []byte)
	Recover func()
}

func GetTask

func GetTask(name string) *TaskHandler

type TaskQueue

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

func (*TaskQueue) AddTask

func (queue *TaskQueue) AddTask(ctx context.Context, task *Task) error

func (*TaskQueue) CancelTask

func (queue *TaskQueue) CancelTask(ctx context.Context, taskID string) error

func (*TaskQueue) Close

func (queue *TaskQueue) Close()

func (*TaskQueue) StartConsumer

func (queue *TaskQueue) StartConsumer()

type TaskQueueOption

type TaskQueueOption struct {
	Name string

	Limiter  Limiter
	Interval time.Duration
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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