Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func getActiveUserInzone(appid uint16, zone uint16) ([]*session.UserSession, error) {
- var resp []*session.UserSession
- keyname := fmt.Sprintf(userStatSetKey, appid, zone)
- userids, err := SessionPool.Call(getSessionAddr(keyname)).SMEMBERS(keyname)
- if err != nil {
- return resp, errors.New(keyname + ":" + err.Error())
- }
- appidstr := strconv.FormatUint(uint64(appid), 10)
- for _, userid := range userids {
- masterkey := fmt.Sprintf(usersessionmasterkey, userid, appidstr)
- if secondkeys, err := SessionPool.Call(getSessionAddr(masterkey)).SMEMBERS(masterkey); err != nil {
- Logger.Error(userid, appidstr, "", "getActiveUserInzone", "SMEMBERS masterkey error", "")
- continue
- } else {
- for _, secondkey := range secondkeys {
- props, err := SessionPool.Call(getSessionAddr(masterkey)).HGETALLMAP(string(secondkey))
- if err != nil && err != msgRedis.ErrKeyNotExist {
- continue //must not be here
- }
- if err == nil {
- userSession, err := prop2usersession(props)
- if err == nil {
- resp = append(resp, userSession)
- }
- }
- }
- }
- }
- return resp, nil
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement