2016-10-26 4 views
0

Google App Engine을 사용하여 다중 사용자 타이머를 구현합니다. 타이머가 끝나면 계산을 수행하고 결과를 사용자에게 보내야합니다. 여러 사용자가 서로 다른 브라우저에서 타이머를 시작하고 일시 중지 할 수 있어야합니다. 우리는 통신을 위해 채널 API를 사용할 것입니다. 특정 시간에 어떻게 계산할 수 있습니까?Google App Engine을 사용하는 다중 사용자 타이머

타이머가 시작될 때 eta이 종료 시간으로 설정된 밀어 넣기 작업을 만드는 것이 하나의 아이디어입니다. 해당 작업이 실행되면 memcache 또는 데이터 저장소에 저장된 타이머 상태를 확인하고 타이머를 일시 중지하여 상태가 수정 된 경우 다른 작업을 만듭니다. 타이머가 끝나면 작업이 계산을 시작합니다. 작업이 정확히 eta에서 실행된다는 보장이 없으므로 더 나은 접근 방법이 있습니까?

+2

타이머의 최대 시간은 얼마이며 원하는 정밀도는 무엇입니까? – MeLight

+0

타이머의 최대 시간은 약 10 분 또는 조금 더 걸릴 수 있습니다. 1-2 초의 정밀도는 아마도 괜찮을 것입니다. – dudarev

답변

0

타이머 상태를 확인하고 적절할 경우 계산을 수행하거나 그렇지 않은 경우 반환하는 반복적 인 작업 (다시 대기열에 들어가기, 결과적으로 초 단위로 다시 대기)을 할 수 있습니다.

+0

나는'eta'를 사용하지 않는 것이 좋으며 몇 초 지연이있을 경우'rate : 1/s' 명령으로 대기열에서 자체 반복 작업을 트리거 할 수 있다고 생각합니다. 타이머가보다 강력 해 지도록하기 위해 JS 클라이언트에서 시간이 끝날 때 끝점에서 계산을 트리거하는 호출을 구현할 계획입니다. – dudarev