2011-08-23 5 views
3

나는 GET/timer를 요청할 때 현재 카운트를 반환하도록 Twisted와 함께 시간 카운터를 작성하려고합니다. 첫 번째 요청은 카운터를 시작합니다. 불행히도, 항상 내가 요청/타이머 때 그것은 0에서 시작하는 추가적인 새로운 카운터를 만든다. 아무도, 다음 카운터를 생성/타이머 요청마다 새로운 카운터를 만들지 않도록 다음 코드를 조정할 방법을 알고 있습니까?뒤틀린 시간 카운터

from twisted.internet import reactor 
from twisted.web.resource import Resource 

class TimeCounter(Resource): 

    def __init__(self): 
     self.value = 0 

    def test(self): 
     self.value += 1 
     print self.value # debug 
     reactor.callLater(1, self.test) 

    def render(self, request): 
     self.test() 
     return str(self.value) 

resource = TimeCounter() 

미리 감사드립니다.

답변

2

시도해보십시오. 나는 이것을 몇 달 전에 테스트했고 정상적으로 작동했다. 클라이언트에서 세션 쿠키를 만듭니다.

class MyResource(Resource): 
    # ... 
    def render(self, request): 
    session = request.getSession() 
    if not hasattr(session, 'count'): 
     session.count = itertools.count() 
    request.write(u"Count is %s" % (session.count.next(),))