@@ -79,51 +79,61 @@ func TaskQueues(tqs *queue.TaskQueueSet, format string, showEmpty bool) interfac
7979 tasksCount := 0
8080 mainTasksCount := 0
8181
82- tqs .Iterate (context .TODO (), func (_ context.Context , queue * queue.TaskQueue ) {
82+ tqs .IterateSnapshot (context .TODO (), func (_ context.Context , queue * queue.TaskQueue ) {
8383 if queue == nil {
8484 return
8585 }
8686
87+ tasks := getTasksForQueue (queue )
88+ length := queue .Length ()
89+ status := queue .GetStatus ()
90+ isEmpty := length == 0
91+
8792 if queue .Name == tqs .MainName {
88- mainTasksCount = queue . Length ()
89- if queue . IsEmpty () {
93+ mainTasksCount = length
94+ if isEmpty {
9095 mainQueue := dumpQueue {
9196 Name : queue .Name ,
92- TasksCount : queue . Length () ,
97+ TasksCount : length ,
9398 }
99+
94100 result .Empty = append (result .Empty , mainQueue )
95101 result .MainQueue = & mainQueue
96- } else {
97- tasks := getTasksForQueue (queue )
98- mainQueue := dumpQueue {
99- Name : queue .Name ,
100- TasksCount : queue .Length (),
101- Status : queue .GetStatus (),
102- Tasks : tasks ,
103- }
104- result .Active = append (result .Active , mainQueue )
105- result .MainQueue = & mainQueue
102+
103+ return
104+ }
105+
106+ mainQueue := dumpQueue {
107+ Name : queue .Name ,
108+ TasksCount : length ,
109+ Status : status ,
110+ Tasks : tasks ,
106111 }
112+
113+ result .Active = append (result .Active , mainQueue )
114+ result .MainQueue = & mainQueue
115+
107116 return
108117 }
109118
110119 otherQueuesCount ++
111- if queue . IsEmpty () {
120+ if isEmpty {
112121 emptyQueues ++
113122 result .Empty = append (result .Empty , dumpQueue {
114123 Name : queue .Name ,
115124 })
116- } else {
117- activeQueues ++
118- tasksCount += queue .Length ()
119- tasks := getTasksForQueue (queue )
120- result .Active = append (result .Active , dumpQueue {
121- Name : queue .Name ,
122- TasksCount : queue .Length (),
123- Status : queue .GetStatus (),
124- Tasks : tasks ,
125- })
125+
126+ return
126127 }
128+
129+ activeQueues ++
130+ tasksCount += length
131+ result .Active = append (result .Active , dumpQueue {
132+ Name : queue .Name ,
133+ TasksCount : length ,
134+ Status : status ,
135+ Tasks : tasks ,
136+ })
127137 })
128138
129139 result .SortByName ()
0 commit comments