2014-08-28 3 views
0

이미지 처리 API를 사용하고 있습니다. (Blitline)다시 게시 후 웹 페이지 새로 고침

특성 상 이미지 처리가 완료되는 데 시간이 걸립니다. 3 ~ 6 초를 가정 해 봅시다.

작업을 제출 한 후 API는 처리 된 이미지의 향후 URL을 즉시 반환하지만 이미지가 아직 완료되지 않았기 때문에 url이 404를 반환하는 3-6 초 동안 반환합니다.

작업이 끝나면 Blitline 서비스는 내 서버의 PHP 스크립트에 포스트 백을 보내 그것이 완료되었다고 알립니다.

이 시점에서 나는 처리 된 이미지를 사용자에게 보여주고 싶습니다.

포스트 백이 들어올 때 사용자 브라우저에서 이미지를로드하는 기술이 있습니까?

나는 그것이 자바 스크립트 폴링으로 할 수 있다는 것을 알고있다. 예 : 포스트 백이 아직 들어 왔는지 2 초마다 확인하십시오.

하지만 더 현대적인 방법이 있는지 궁금합니다.

+1

예 웹 소켓, 직접 빌드하지 않으려면 http://socketo.me/ 체크 아웃하십시오. – cmorrissey

+0

체크하십시오 http://en.wikipedia.org/wiki/Comet_(programming) – hex494D49

+2

이 사용 사례 , 나는 아약스 폴링을 고수 할 것이고, 소켓은 몇 초 동안 만 열려 있어야하는 연결을 위해 잔인한 것처럼 보일 것입니다. – Steve

답변

1

처리해야 할 또 다른 문제는 S3 대기 시간입니다. 이미지가 S3로 올라가고 S3가 응답했다고해서 이미지가 공개적으로 즉시 사용 가능하다는 것을 의미하지는 않습니다. 일반적으로 수 밀리 초 내에 사용할 수 있지만, 때로는 초 단위로 확장 될 수 있습니다.

URL이 있으므로 이미지의 S3을 폴링하면됩니다.

https://coderwall.com/p/hy_qjw

이 예는 S3에서 숨겨진 이미지를로드하려고 예를 들면 다음과 같습니다. 성공하면 몇 초 후에 다시 시도합니다 (setTimeout을 조정할 수 있음). 이렇게하면 Blitline이 끝날 때까지 기다리거나 S3에서 이미지를 사용할 수있을 때까지 기다릴 수 있습니다.

관련 문제