2013-04-17 2 views
0

저는 다른 나라의 인구에서 HIV/AIDS의 과정을 추정하기 위해 공중 보건 프로젝트를 수행하는 다소 새로운 웹 디자이너이자 개발자입니다. 시험 버전은 다음과 같습니다. http://globalhealthdecisions.com/test/tool/Ruby 기반 수학 모델의 "단편적인"AJAX 응답?

루비에이 유행 모델을 구축했습니다. 이 모델은 각 그룹의 성적 상호 작용 및 그룹 간의 질병 전파 가능성을 계산합니다. 현재는 약 40 년 동안 실행되고 마지막에는 JSON 객체로 최종 결과를 출력합니다. 스크립트는 CLI에서 실행하는 데 8 초 정도 걸립니다. 모델의 프런트 엔드를 구현했으며 AJAX 요청을 사용하면 서버에서 응답을받는 데 최대 30 초가 걸릴 수 있습니다.

내 질문 : 모델을 계산할 때 서버에서 업데이트를받을 수있는 방법이 있습니까? 즉, 루비 스크립트의 현재 실행을 실행하면서 1 년을 계산하여 그 해에 출력 할 수 있습니까? 그렇다면,이 "푸시 (push)"방식으로, 수신 된대로 매년로드 할 수 있으므로 대기 시간이 현저히 줄어 듭니다.

고마워요.

답변

0

스크립트에서 필요한 데이터 덩어리를 얻을 수 있다고 가정 할 때 아마도 일종의 폴링, 아마도 롱 폴링을 찾고있을 것이라고 생각합니다. 여기

http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

위의 문서에서 jQuery를 사용하여 그것의 요점, 것 :

(function poll(){ 
    $.ajax({ url: "server", success: function(data){ 
     //Update your dashboard gauge 
     salesGauge.setValue(data.value); 

    }, dataType: "json", complete: poll, timeout: 30000 }); 
})(); 

은 본질적으로는 아약스 요청의 단지 루프의 성공 함수를 호출 여기에 주제에 대한 좋은 기사입니다 서버가 요청을 완료 할 때마다,이 경우에는 30000ms 후에 완전히 시간 초과됩니다.

희망이 있습니다.