From 701da73a6e6ee633d457094faff6466815218562 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 29 Aug 2019 11:23:17 +0800 Subject: [PATCH] =?UTF-8?q?-=20BaseTask.GetResult=E4=B8=AD=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=9C=A8=E4=BB=BB=E5=8A=A1=E4=B8=AD=E4=BC=9A?= =?UTF-8?q?=E8=A2=AB=E5=88=A0=E9=99=A4=EF=BC=88=E4=BB=A5=E5=85=8D=E8=A2=AB?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84HOLD=E4=BD=8F=E5=AF=B9=E8=B1=A1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/tasksch/task.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/business/jxutils/tasksch/task.go b/business/jxutils/tasksch/task.go index 533c84e7c..f968eab6d 100644 --- a/business/jxutils/tasksch/task.go +++ b/business/jxutils/tasksch/task.go @@ -169,6 +169,7 @@ func (t *BaseTask) GetID() string { return t.ID } +// 此函数成功返回结果后,结果在任务中会被删除(以免被管理的任务不必要的HOLD住对象) func (t *BaseTask) GetResult(duration time.Duration) (retVal []interface{}, err error) { if t.GetStatus() >= TaskStatusEndBegin { return t.getResult(), t.GetErr() @@ -279,10 +280,12 @@ func (t *BaseTask) GetNoticeMsg() string { return t.NoticeMsg } -func (t *BaseTask) getResult() []interface{} { - t.locker.RLock() - defer t.locker.RUnlock() - return t.Result +func (t *BaseTask) getResult() (result []interface{}) { + t.locker.Lock() + defer t.locker.Unlock() + result = t.Result + t.Result = nil + return result } func (t *BaseTask) AddBatchErr(err error) {