- 修复tasksch中任务panic导致的BUG
This commit is contained in:
@@ -123,7 +123,9 @@ func (task *ParallelTask) Run() {
|
||||
chanRetVal = retVal
|
||||
goto end
|
||||
} else {
|
||||
result, err := task.worker(task, job, task.params...)
|
||||
result, err := task.callWorker(func() (retVal interface{}, err error) {
|
||||
return task.worker(task, job, task.params...)
|
||||
})
|
||||
// globals.SugarLogger.Debugf("ParallelTask.Run %s, after call worker result:%v, err:%v", task.Name, result, err)
|
||||
task.finishedOneJob(len(job), err)
|
||||
if err == nil {
|
||||
@@ -146,11 +148,7 @@ func (task *ParallelTask) Run() {
|
||||
}
|
||||
end:
|
||||
// globals.SugarLogger.Debugf("ParallelTask.Run %s, put to chann chanRetVal:%v", task.Name, chanRetVal)
|
||||
task.locker.RLock()
|
||||
if task.Status < TaskStatusEndBegin {
|
||||
task.subFinishChan <- chanRetVal
|
||||
}
|
||||
task.locker.RUnlock()
|
||||
task.subFinishChan <- chanRetVal
|
||||
})
|
||||
}
|
||||
for _, job := range task.jobList {
|
||||
|
||||
Reference in New Issue
Block a user