middleware/refresh_user.go
@@ -91,16 +91,20 @@ select { case <-ticker.C: nowTs := time.Now().Unix() var users []*CurrentActiveUser r.mu.RLock() for userID, user := range r.Users { for _, user := range r.Users { users = append(users, user) } r.mu.RUnlock() for _, user := range users { if nowTs-user.lastActiveTime > r.expireSecond { r.mu.Lock() logx.Infof("removed in active user:%+v", user) delete(r.Users, userID) delete(r.Users, user.UserID) r.mu.Unlock() } } r.mu.RUnlock() case <-r.ctx.Done(): fmt.Println("stop RemoveInActiveUser.") return