From a05cbd2e387186d3e12b93d939a9e6b7be8a6b5c Mon Sep 17 00:00:00 2001 From: pcmid Date: Wed, 11 Dec 2024 15:12:42 +0800 Subject: [PATCH] fix: add queue after server stopped --- server.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server.go b/server.go index 298ad57..db1efa2 100644 --- a/server.go +++ b/server.go @@ -810,15 +810,14 @@ func (srv *Server) AddQueue(qname string, priority, concurrency int) { return } - srv.queues[qname] = priority - srv.state.mu.Lock() state := srv.state.value - srv.state.mu.Unlock() if state == srvStateNew || state == srvStateClosed { srv.queues[qname] = priority + srv.state.mu.Unlock() return } + srv.state.mu.Unlock() srv.logger.Info("restart server...") srv.forwarder.shutdown() @@ -832,6 +831,8 @@ func (srv *Server) AddQueue(qname string, priority, concurrency int) { srv.heartbeater.shutdown() srv.wg.Wait() + srv.queues[qname] = priority + qnames := make([]string, 0, len(srv.queues)) for q := range srv.queues { qnames = append(qnames, q)