Revert "reduce polling load by condensing the json poll api into one method instead of several"

This reverts commit 4ae3407fb0.
This commit is contained in:
Trever Fischer
2012-04-19 17:35:27 -04:00
parent dc77f35267
commit 1d32ea66c4
7 changed files with 38 additions and 47 deletions

View File

@@ -8,7 +8,6 @@ from django.http import HttpResponse
from urllib2 import urlopen
import json
from datetime import datetime
from models import cachePlayerList
class WhitelistHandler(AnonymousBaseHandler):
allowed_methods = ('GET',)
@@ -115,16 +114,3 @@ class ServerPingHandler(BaseHandler):
def read(self, request):
return {'identity': request.server}
class PollHandler(BaseHandler):
allowed_methods = ('GET',)
def read(self, request, timestamp):
serverInfo = cache.get('caminus-server-info')
if serverInfo == None:
cachePlayerList()
pollData = {'server-info': {}, 'user-info': {}}
pollData['server-info'] = cache.get('caminus-server-info')
if not request.user.is_anonymous():
pollData['user-info']['balance'] = request.user.minecraftprofile.currencyaccount.balance
return pollData

View File

@@ -1,17 +0,0 @@
from django.db.models.signals import post_save
from minecraft.models import PlayerSession, Server
from django.core.cache import cache
def cachePlayerList():
serverInfo = {}
for s in Server.objects.all():
playerList = []
for p in s.online_players():
playerList.append(p.name)
serverInfo[s.hostname] = {'players':playerList}
cache.set('caminus-server-info', serverInfo, 30)
def update_player_lists(sender, instance, created, **kwargs):
cachePlayerList()
post_save.connect(update_player_lists, sender=PlayerSession)

View File

@@ -47,5 +47,4 @@ urlpatterns = patterns('api',
url(r'^server/economy/(?P<playername>.*)$', ServerResource(handlers.EconomyHandler)),
url(r'^server/session/(?P<playername>.*)/new$', ServerResource(handlers.NewPlayerSessionHandler)),
url(r'^server/session/(?P<playername>.*)/close$', ServerResource(handlers.ClosePlayerSessionHandler)),
url(r'^poll/(?P<timestamp>[0-9]+)$', Resource(handlers.PollHandler)),
)