문제

서버에서 일부 계산을 수행하려고합니다. 이를 위해 클라이언트는 처음에 JavaScript를 통해 캡처하는 일부 데이터를 입력합니다. 이제이 데이터를 보내기 위해 서버에 xmlhttprequest를 만들 것입니다. 계산에 1 시간이 걸리고 클라이언트가 시스템을 떠나 시스템을 끄는 것으로 가정 해 봅시다.

실제로, 나는 아마도 클라이언트 측에서 폴링을 사용하여 결과를 사용할 수 있는지 확인할 것입니다. 그러나 예를 들어 다음에 클라이언트가 로그인 할 때 클라이언트 측 JavaScript에 연락하여 결과를 전달하는 것만으로도 전화를 다시 구현할 수있는 방법이 있습니까? 나는이 모든 것이 클라이언트쪽에 앉아있는 일종의 웹 서버가 필요하다고 생각하고 있지만 더 나은 접근 방식이 있는지 궁금합니다.

도움이 되었습니까?

해결책

가장 좋은 방법은 사용자가 웹 페이지에 도달 할 때 설문 조사하는 것입니다.

내가 비슷한 일에서 한 일은 폴링 시간을 점차적으로 바꾸는 것이 었으므로 몇 초부터 시작한 다음 점차 간격을 늘릴 것입니다. 귀하의 경우, 15 분 후에 설문 조사를 한 다음 실패하면 5 분마다 증가하고 사용자가 브라우저를 닫으면 다시 폴링을 시작할 수 있습니다.

콜백을 원한다면 이메일이 완료되면 이메일을 보내서 사용자에게 알 수 있습니다.

또한 처리를 수행하는 동안, 얼마나 멀리 갔는지, 얼마나 오래 있었는지, 진행 중이라는 것을 보여줄 것이 무엇인지, 브라우저가 잠겨 있지 않다는 것을 보여주십시오. 다른 것이 없다면, 처리가 얼마나 오래 지속되었는지에 대한 시간을 보여주고, 사용자에게 진전을 제공하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top