0
나는 Tornado 웹 서버와 함께 작업 중이며 잠시 동안 서버가 유휴 상태인지 확인한 다음 다시 시작하는 방법을 알고 싶습니다.유휴 상태 일 때 토네이도 웹 서버를 다시 시작합니다.
잠시 동안 요청을받지 못했는지 판단하기 위해 self.requests 사이의 시간차를 확인하려고했습니다. 하지만 더 좋은 방법이 있을까요?
나는 Tornado 웹 서버와 함께 작업 중이며 잠시 동안 서버가 유휴 상태인지 확인한 다음 다시 시작하는 방법을 알고 싶습니다.유휴 상태 일 때 토네이도 웹 서버를 다시 시작합니다.
잠시 동안 요청을받지 못했는지 판단하기 위해 self.requests 사이의 시간차를 확인하려고했습니다. 하지만 더 좋은 방법이 있을까요?
간단한 방법 중 하나는 전역 변수를 사용하여 마지막 요청의 타임 스탬프를 보유하고 요청을 처리 할 때마다이를 업데이트하는 것입니다. 그런 다음 시간에서 _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 함수를 호출하는 것을 잊지 마십시오.
나는 이것을 수행 할 다른 방법이 없다고 생각하기 때문에. 나는이 대답을 받아 들일 것이다. –