MCPcopy
hub / github.com/ChineseSubFinder/ChineseSubFinder / update

Method update

pkg/task_queue/task_queue.go:148–180  ·  view source on GitHub ↗

update 更新素,不存在则会失败,内部用,没有锁

(oneJob task_queue2.OneJob)

Source from the content-addressed store, hash-verified

146
147// update 更新素,不存在则会失败,内部用,没有锁
148func (t *TaskQueue) update(oneJob task_queue2.OneJob) (bool, error) {
149
150 if t.isExist(oneJob.Id) == false {
151 return false, nil
152 }
153 // 自动更新时间
154 oneJob.UpdateTime = (emby.Time)(time.Now())
155
156 // 这里需要判断是否有优先级的 Update,如果有就需要把之前缓存的表给更新
157 // 然后再插入到新的表中
158 taskPriorityIndex, _ := t.taskKeyMap.Get(oneJob.Id)
159 // 检查权限范围
160 oneJob = t.checkPriority(oneJob)
161 if oneJob.TaskPriority != taskPriorityIndex {
162 // 优先级修改
163 // 先删除原有的优先级
164 t.taskPriorityMapList[taskPriorityIndex.(int)].Remove(oneJob.Id)
165 err := t.save(taskPriorityIndex.(int))
166 if err != nil {
167 return false, err
168 }
169 }
170 // 插入到统一的 KeyMap
171 t.taskKeyMap.Put(oneJob.Id, oneJob.TaskPriority)
172 // 分配到具体的优先级 map 中
173 t.taskPriorityMapList[oneJob.TaskPriority].Put(oneJob.Id, oneJob)
174 err := t.save(oneJob.TaskPriority)
175 if err != nil {
176 return false, err
177 }
178
179 return true, nil
180}
181
182// Update 更新素,不存在则会失败
183func (t *TaskQueue) Update(oneJob task_queue2.OneJob) (bool, error) {

Callers 4

UpdateMethod · 0.95
afterReadMethod · 0.95
submitAllFunction · 0.80

Calls 4

isExistMethod · 0.95
checkPriorityMethod · 0.95
saveMethod · 0.95
GetMethod · 0.65

Tested by

no test coverage detected