From 6c805edf92ba2176d2a8818480b3ec26229c168a Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 29 Aug 2019 11:19:54 +0800 Subject: [PATCH] =?UTF-8?q?-=20tasksch=E4=B8=AD=EF=BC=8C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=90=8E=E8=A6=81=E5=B0=86worker=E7=BD=AE?= =?UTF-8?q?=E7=A9=BA=EF=BC=8C=E5=90=A6=E5=88=99=E8=A2=AB=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9A=84=E4=BB=BB=E5=8A=A1=E7=9A=84worker=E4=BC=9Ahold?= =?UTF-8?q?=E4=BD=8F=E5=A4=A7=E9=87=8F=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/jxutils_sync_map.go | 2 +- business/jxutils/tasksch/parallel_task.go | 1 + business/jxutils/tasksch/sequence_task.go | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/business/jxutils/jxutils_sync_map.go b/business/jxutils/jxutils_sync_map.go index 92827aea6..99c2beeab 100644 --- a/business/jxutils/jxutils_sync_map.go +++ b/business/jxutils/jxutils_sync_map.go @@ -24,6 +24,6 @@ func (m *SyncMapWithTimeout) Delete(key interface{}) { if value, ok := m.timers.Load(key); ok { timer := value.(*time.Timer) timer.Stop() + m.timers.Delete(key) } - m.timers.Delete(key) } diff --git a/business/jxutils/tasksch/parallel_task.go b/business/jxutils/tasksch/parallel_task.go index de62f3cf8..d402e8a2c 100644 --- a/business/jxutils/tasksch/parallel_task.go +++ b/business/jxutils/tasksch/parallel_task.go @@ -179,6 +179,7 @@ func (task *ParallelTask) Run() { close(task.subFinishChan) task.jobList = nil // 如果不释放,任务被管理的话,会导致内存不能释放 + task.worker = nil }) } diff --git a/business/jxutils/tasksch/sequence_task.go b/business/jxutils/tasksch/sequence_task.go index c443c85e6..7bcd3faac 100644 --- a/business/jxutils/tasksch/sequence_task.go +++ b/business/jxutils/tasksch/sequence_task.go @@ -59,6 +59,8 @@ func (task *SeqTask) Run() { task.Result = taskResult task.mainErr = taskErr task.locker.Unlock() + + task.worker = nil }) }