From 999c3d7ebeac3a9016186dfeb86c6cbb4f55ce9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 30 Jan 2026 10:00:57 +0800 Subject: [PATCH] 1 --- business/jxstore/event/event_tcp.go | 4 ++-- business/jxstore/event/event_tcp_utils.go | 1 - business/jxstore/event/timing_task.go | 28 ++++++++++++++++------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index fb2a20a19..be82a78cb 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -370,11 +370,11 @@ func HandleCheckTcpHeart(t *TcpClient, key string) { } } } else { - globals.SugarLogger.Debugf("-------close1 := %s", key) t.getClients(key).C.Close() close(t.MsgMap[key]) close(t.CallBackMap[key]) - t.delConn(key) + //t.delConn(key) + t.clear(key) // 链接出错,彻底删除换成 if printRemoteAddrIP, have := PrintIpAndAddr.GetPrintIpAndAddr(key); have { diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go index 65640fb50..2d8ef3e86 100644 --- a/business/jxstore/event/event_tcp_utils.go +++ b/business/jxstore/event/event_tcp_utils.go @@ -159,7 +159,6 @@ func (t *TcpClient) clear(key string) { t.Lock() defer t.Unlock() t.Clients[key].C.Close() - globals.SugarLogger.Debugf("-------close3 := %s", key) delete(t.Clients, key) close(t.MsgMap[key]) delete(t.MsgMap, key) diff --git a/business/jxstore/event/timing_task.go b/business/jxstore/event/timing_task.go index b73f05010..e3d12a300 100644 --- a/business/jxstore/event/timing_task.go +++ b/business/jxstore/event/timing_task.go @@ -47,9 +47,11 @@ func (w *Worker) Start() { } func (w *Worker) Stop() { - go func() { - w.quit <- true - }() + w.quit <- true + close(w.quit) + //go func() { + // w.quit <- true + //}() } func NewPool(numWorkers int) *Pool { @@ -79,14 +81,24 @@ func (p *Pool) Stop() { } } +// +//func (p *Pool) AddJob(job Job) { +// p.wg.Add(1) +// p.jobChannel <- func() { +// job() +// p.wg.Done() +// } +//} + func (p *Pool) AddJob(job Job) { p.wg.Add(1) - p.jobChannel <- func() { - job() - p.wg.Done() - } + go func() { + p.jobChannel <- func() { + defer p.wg.Done() + job() + } + }() } - func (p *Pool) Wait() { p.wg.Wait() }