.BANCHO. Move online users count to redis
This commit is contained in:
		@@ -10,7 +10,7 @@ class handler(requestsManager.asyncRequestHandler):
 | 
				
			|||||||
		data = {"message": "unknown error"}
 | 
							data = {"message": "unknown error"}
 | 
				
			||||||
		try:
 | 
							try:
 | 
				
			||||||
			# Get online users count
 | 
								# Get online users count
 | 
				
			||||||
			data["result"] = len(glob.tokens.tokens)
 | 
								data["result"] = int(glob.redis.get("ripple:online_users").decode("utf-8"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			# Status code and message
 | 
								# Status code and message
 | 
				
			||||||
			statusCode = 200
 | 
								statusCode = 200
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,6 +24,7 @@ class tokenList:
 | 
				
			|||||||
		"""
 | 
							"""
 | 
				
			||||||
		newToken = osuToken.token(userID, ip=ip, irc=irc, timeOffset=timeOffset, tournament=tournament)
 | 
							newToken = osuToken.token(userID, ip=ip, irc=irc, timeOffset=timeOffset, tournament=tournament)
 | 
				
			||||||
		self.tokens[newToken.token] = newToken
 | 
							self.tokens[newToken.token] = newToken
 | 
				
			||||||
 | 
							glob.redis.incr("ripple:online_users")
 | 
				
			||||||
		return newToken
 | 
							return newToken
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	def deleteToken(self, token):
 | 
						def deleteToken(self, token):
 | 
				
			||||||
@@ -34,12 +35,10 @@ class tokenList:
 | 
				
			|||||||
		:return:
 | 
							:return:
 | 
				
			||||||
		"""
 | 
							"""
 | 
				
			||||||
		if token in self.tokens:
 | 
							if token in self.tokens:
 | 
				
			||||||
			# Delete session from DB
 | 
					 | 
				
			||||||
			if self.tokens[token].ip != "":
 | 
								if self.tokens[token].ip != "":
 | 
				
			||||||
				userUtils.deleteBanchoSessions(self.tokens[token].userID, self.tokens[token].ip)
 | 
									userUtils.deleteBanchoSessions(self.tokens[token].userID, self.tokens[token].ip)
 | 
				
			||||||
 | 
					 | 
				
			||||||
			# Pop token from list
 | 
					 | 
				
			||||||
			self.tokens.pop(token)
 | 
								self.tokens.pop(token)
 | 
				
			||||||
 | 
								glob.redis.decr("ripple:online_users")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	def getUserIDFromToken(self, token):
 | 
						def getUserIDFromToken(self, token):
 | 
				
			||||||
		"""
 | 
							"""
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								pep.py
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								pep.py
									
									
									
									
									
								
							@@ -115,6 +115,7 @@ if __name__ == "__main__":
 | 
				
			|||||||
		# Empty redis cache
 | 
							# Empty redis cache
 | 
				
			||||||
		try:
 | 
							try:
 | 
				
			||||||
			# TODO: Make function or some redis meme
 | 
								# TODO: Make function or some redis meme
 | 
				
			||||||
 | 
								glob.redis.set("ripple:online_users", 0)
 | 
				
			||||||
			glob.redis.eval("return redis.call('del', unpack(redis.call('keys', ARGV[1])))", 0, "peppy:*")
 | 
								glob.redis.eval("return redis.call('del', unpack(redis.call('keys', ARGV[1])))", 0, "peppy:*")
 | 
				
			||||||
		except redis.exceptions.ResponseError:
 | 
							except redis.exceptions.ResponseError:
 | 
				
			||||||
			# Script returns error if there are no keys starting with peppy:*
 | 
								# Script returns error if there are no keys starting with peppy:*
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user