2014-11-29 5 views

답변

0

간단한 방법 중 하나는 전역 변수를 사용하여 마지막 요청의 타임 스탬프를 보유하고 요청을 처리 할 때마다이를 업데이트하는 것입니다. 그런 다음 시간에서 _last_request 변수 시간을 확인하는 기능을 추가합니다

#startup initialization code 
_last_request = datetime.datetime.now() 

#we will use these variables later 
interval = datetime.timedelta(seconds=30) 
idle_timeout = datetime.timedelta(seconds=1800) 

... 

#update timestamp in handler(s) 
global _last_request 
_last_request = datetime.datetime.now() 

:처럼 뭔가

def idle_check(): 
    if _last_request - datetime.datetime.now() > idle_timeout: 
     #stop the IOLoop 
     tornado.ioloop.IOLoop.instance().stop() 
    else: 
     #schedule to run again 
     tornado.ioloop.IOLoop.instance().add_timeout(interval, idle_check) 

IOLoop를 시작하기 전에 idle_check 함수를 호출하는 것을 잊지 마십시오.

+0

나는 이것을 수행 할 다른 방법이 없다고 생각하기 때문에. 나는이 대답을 받아 들일 것이다. –

관련 문제