2
0
mirror of https://github.com/hibiken/asynq.git synced 2025-07-01 10:53:39 +08:00

fix: add queue after server stopped

This commit is contained in:
pcmid 2024-12-11 15:12:42 +08:00
parent 8d2955efc1
commit a05cbd2e38
No known key found for this signature in database
GPG Key ID: ABB53028C38EA9E0

View File

@ -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)