1
This commit is contained in:
@@ -7,8 +7,6 @@ import (
|
||||
"runtime/debug"
|
||||
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
)
|
||||
|
||||
@@ -71,22 +69,18 @@ func taskFun(taskChan chan *TaskParam, index int) {
|
||||
}
|
||||
|
||||
func (p *Pool) callFun(func4Call func(), primaryID string, isAsync bool) (r interface{}) {
|
||||
result := md5.Sum([]byte(primaryID+utils.GetUUID()))
|
||||
result := md5.Sum([]byte(primaryID + utils.GetUUID()))
|
||||
resultInt64 := int64(binary.LittleEndian.Uint32(result[8:]))
|
||||
chanIndex := int(resultInt64 % int64(p.curRoutineCount))
|
||||
globals.SugarLogger.Debugf("callFun1 %v , %v", chanIndex, primaryID)
|
||||
chanParam := &TaskParam{
|
||||
handler: func4Call,
|
||||
}
|
||||
if !isAsync {
|
||||
chanParam.resultChan = make(chan interface{})
|
||||
}
|
||||
globals.SugarLogger.Debugf("callFun2 %v , %v", chanIndex, primaryID)
|
||||
p.taskChans[chanIndex] <- chanParam
|
||||
globals.SugarLogger.Debugf("callFun3 %v , %v", chanIndex, primaryID)
|
||||
if !isAsync {
|
||||
r = <-chanParam.resultChan
|
||||
globals.SugarLogger.Debugf("callFun4 %v , %v", chanIndex, primaryID)
|
||||
close(chanParam.resultChan)
|
||||
}
|
||||
return r
|
||||
|
||||
Reference in New Issue
Block a user