zhangqian
2023-10-31 1bd5a7bed8212e7739fb996a9f4f56118f47c488
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