From b57b13c570b60d84b9b99f8d972430ccf4fe6311 Mon Sep 17 00:00:00 2001 From: zengjiwen <308719290@qq.com> Date: Mon, 3 May 2021 22:59:07 +0800 Subject: [PATCH] bug fix: iterate for map is unordered --- stats.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stats.go b/stats.go index d62864e..d37a6d1 100644 --- a/stats.go +++ b/stats.go @@ -55,8 +55,10 @@ func Stats(w http.ResponseWriter, req *http.Request) { conn.Send("get", Config.Namespace+"stat:failed") conn.Send("zcard", Config.Namespace+RETRY_KEY) - for key, _ := range enqueued { + var keys []string + for key := range enqueued { conn.Send("llen", fmt.Sprintf("%squeue:%s", Config.Namespace, key)) + keys = append(keys, key) } r, err := conn.Do("exec") @@ -83,9 +85,10 @@ func Stats(w http.ResponseWriter, req *http.Request) { } queueIndex := 0 - for key, _ := range enqueued { + for _, key := range keys { if queueIndex == (index - 3) { enqueued[key] = fmt.Sprintf("%d", result.(int64)) + break } queueIndex++ }