task_queue

package
v0.55.3 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HighTaskPriorityLevel       = 3
	DefaultTaskPriorityLevel    = 5
	FirstRetryTaskPriorityLevel = 6
	LowTaskPriorityLevel        = 7
)

Variables

View Source
var (
	ErrNoSubFound = errors.New("No Sub Found")
)

Functions

This section is empty.

Types

type TaskQueue

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

func NewTaskQueue

func NewTaskQueue(center *cache_center.CacheCenter) *TaskQueue

func (*TaskQueue) Add

func (t *TaskQueue) Add(oneJob task_queue2.OneJob) (bool, error)

Add 放入元素,放入的时候会根据 TaskPriority 进行归类,存在的不会新增和更新

func (*TaskQueue) AutoDetectUpdateJobStatus

func (t *TaskQueue) AutoDetectUpdateJobStatus(oneJob task_queue2.OneJob, inErr error)

AutoDetectUpdateJobStatus 根据任务的生命周期图,进行自动判断更新,见《任务的生命周期》流程图

func (*TaskQueue) BeforeGetOneJob

func (t *TaskQueue) BeforeGetOneJob()

func (*TaskQueue) Clear

func (t *TaskQueue) Clear() error

func (*TaskQueue) Close

func (t *TaskQueue) Close()

func (*TaskQueue) Del

func (t *TaskQueue) Del(jobId string) (bool, error)

Del 删除一个元素

func (*TaskQueue) GetAllJobs

func (t *TaskQueue) GetAllJobs() (bool, []task_queue2.OneJob, error)

func (*TaskQueue) GetJobsByPriorityAndStatus

func (t *TaskQueue) GetJobsByPriorityAndStatus(taskPriority int, status task_queue2.JobStatus) (bool, []task_queue2.OneJob, error)

GetJobsByPriorityAndStatus 根据任务优先级和状态获取任务列表

func (*TaskQueue) GetJobsByStatus

func (t *TaskQueue) GetJobsByStatus(status task_queue2.JobStatus) (bool, []task_queue2.OneJob, error)

func (*TaskQueue) GetOneDoneJob

func (t *TaskQueue) GetOneDoneJob() (bool, task_queue2.OneJob, error)

GetOneDoneJob 获取一个元素,按优先级,0 - taskPriorityCount 的级别去拿去任务,不会移除任务

func (*TaskQueue) GetOneJob

func (t *TaskQueue) GetOneJob() (bool, task_queue2.OneJob, error)

GetOneJob 优先获取 GetOneWaitingJob 然后才是 GetOneDoneJob

func (*TaskQueue) GetOneJobByID

func (t *TaskQueue) GetOneJobByID(jobId string) (bool, task_queue2.OneJob)

func (*TaskQueue) GetOneWaitingJob

func (t *TaskQueue) GetOneWaitingJob() (bool, task_queue2.OneJob, error)

GetOneWaitingJob 获取一个元素,按优先级,0 - taskPriorityCount 的级别去拿去任务,不会移除任务

func (*TaskQueue) IsExist

func (t *TaskQueue) IsExist(jobID string) bool

IsExist 是否已经存在,对外,有锁

func (*TaskQueue) QueueName

func (t *TaskQueue) QueueName() string

func (*TaskQueue) Size

func (t *TaskQueue) Size() int

Size 队列的长度,对外暴露,有锁

func (*TaskQueue) Update

func (t *TaskQueue) Update(oneJob task_queue2.OneJob) (bool, error)

Update 更新素,不存在则会失败

Jump to

Keyboard shortcuts

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