diff --git a/modules/rtask/module.go b/modules/rtask/module.go index 4f0b47554..b4aaba639 100644 --- a/modules/rtask/module.go +++ b/modules/rtask/module.go @@ -266,7 +266,6 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondHandle) return } - // 处理触发的任务 func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType comm.TaskType, params ...int32) (code pb.ErrorCode) { uid := session.GetUserId() @@ -290,6 +289,13 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com return } + lock, _ := this.modelRtask.userlock(uid) + err := lock.Lock() + if err != nil { + this.Error("TriggerTask userlock err!", log.Field{Key: "err", Value: err.Error()}) + } + defer lock.Unlock() + record := this.modelRtaskRecord.getRecord(uid) handles = this.getHandle(rtaskType) @@ -369,13 +375,6 @@ func (this *ModuleRtask) TriggerTask(uid string, taskParams ...*comm.TaskParam) return } - lock, _ := this.modelRtask.userlock(uid) - err := lock.Lock() - if err != nil { - this.Error("TriggerTask userlock err!", log.Field{Key: "err", Value: err.Error()}) - } - defer lock.Unlock() - for _, tp := range taskParams { this.Debug("任务触发", log.Field{Key: "uid", Value: uid},