2013-03-21 3 views
0

PHP 비누 클라이언트를 사용하여 웹 서비스에서 일부 데이터를 가져 오는 응용 프로그램을 작성하고 있습니다. 웹 서비스는 성능이 매우 떨어지는 클라이언트 SQL 서버에 액세스합니다 (일부 요청은 실행하는 데 몇 분이 걸립니다).브라우저 비누 클라이언트를 기다리는 시간 초과

작은 요청에는 모두 문제가 없지만 브라우저가 2 분 동안 기다리면 빈 파일을 다운로드하라는 메시지가 표시됩니다.

php max_execution_time, memory_limit 및 default_socket_timeout을 늘 렸지만 브라우저는 항상 정확히 2 분 동안 대기를 멈추는 것처럼 보입니다.

브라우저를 무기한으로 처리하는 방법에 대한 아이디어가 있으십니까?

답변

0

아키텍처를 당김에서 밀어 넣기로 변경할 수 있습니다. 그런 다음 사용자는 데이터가 준비되면 웹 응용 프로그램 &을 사용하여 계속 수행 할 수 있습니다.

비누 서버를 수정할 수 있다면 간단한 작업으로 (이상적이지 않음) 데이터가 준비되어 있는지 확인하는 다른 웹 서비스를 가질 수 있습니다. 그런 다음 클라이언트에서는 30 초마다 이것을 호출하여 확인할 수 있습니다 기다리는 것이 아니라 데이터를 사용할 수있는 경우.

0

웹 서버가 시간 초과되었습니다. 제 경우에는 아파치입니다. 나는 처음에 httpd.conf에서 시간 제한 값을 늘려서 다른 것으로 생각했으며, 2 분 후에도 여전히 멈추고있었습니다. 그러나 Zend Server를 사용하고 있습니다.이 Zend Server에는 제한 시간을 120 초로 설정하는 추가 구성 파일이 있습니다.이 시간을 늘리고 브라우저를 2 분 후에 더 이상 중지하지 않습니다.

관련 문제