MCPcopy
hub / github.com/ChineseSubFinder/ChineseSubFinder / GetJobsByStatus

Method GetJobsByStatus

pkg/task_queue/get.go:140–165  ·  view source on GitHub ↗
(status task_queue2.JobStatus)

Source from the content-addressed store, hash-verified

138}
139
140func (t *TaskQueue) GetJobsByStatus(status task_queue2.JobStatus) (bool, []task_queue2.OneJob, error) {
141
142 defer t.queueLock.Unlock()
143 t.queueLock.Lock()
144
145 outOneJobs := make([]task_queue2.OneJob, 0)
146 // 如果队列里面没有东西,则返回 false
147 if t.isEmpty() == true {
148 return false, nil, nil
149 }
150
151 for TaskPriority := 0; TaskPriority <= taskPriorityCount; TaskPriority++ {
152
153 t.taskPriorityMapList[TaskPriority].Each(func(key interface{}, value interface{}) {
154
155 tOneJob := task_queue2.OneJob{}
156 tOneJob = value.(task_queue2.OneJob)
157 if tOneJob.JobStatus == status {
158 // 找到加入列表
159 outOneJobs = append(outOneJobs, tOneJob)
160 }
161 })
162 }
163
164 return true, outOneJobs, nil
165}
166
167// GetJobsByPriorityAndStatus 根据任务优先级和状态获取任务列表
168func (t *TaskQueue) GetJobsByPriorityAndStatus(taskPriority int, status task_queue2.JobStatus) (bool, []task_queue2.OneJob, error) {

Callers 3

TestTaskQueue_UpdateFunction · 0.95

Calls 3

isEmptyMethod · 0.95
UnlockMethod · 0.80
LockMethod · 0.80

Tested by 3

TestTaskQueue_UpdateFunction · 0.76