queue

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultDeadlineFunc

func DefaultDeadlineFunc() func(queue *Queue, id string, data interface{}, deadline time.Time)

DefaultDeadlineFunc

@Description: 默认消息超时未确认处理,将超时任务重新退回队列
@return func(queue *Queue, id string, data interface{}, deadline time.Time)

Types

type Node

type Node struct {
	Id       string
	Data     interface{}
	Deadline *time.Time
}

type Queue

type Queue struct {
	DeadlineFunc func(queue *Queue, id string, data interface{}, deadline time.Time)
	// contains filtered or unexported fields
}

func NewQueue

func NewQueue() *Queue

NewQueue

@Description: 创建消息队列
@return *Queue

func (*Queue) Done

func (q *Queue) Done(id string)

Done

@Description: 消息确认
@receiver q
@param id

func (*Queue) Get

func (q *Queue) Get(deadline *time.Time, block ...bool) (id string, data interface{}, ok bool)

Get

@Description:	接收
@receiver q
@param deadline	消息确认超时,设置非nil后需要使用Done()进行消息确认
@param block	阻塞
@return id		队列id
@return data	内容
@return ok		是否获取到

func (*Queue) Put

func (q *Queue) Put(data interface{})

Put

@Description: 推入队列
@receiver q
@param data

Jump to

Keyboard shortcuts

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