2011-03-08 5 views
0

시간 제한된 양의 쿼리를 허용하는 외부 API를 쿼리하는 PHP 스크립트가 있습니다. 이 문제를 해결하기 위해 나는이 한계에 도달했다가 다시 깨어나서 다시 확인한 다음 API에서 더 많은 데이터를 다시 얻을 수있을 때까지 60 초 동안 스크립트를 잠자 게합니다.PHP 스크립트가 수면 중에 충돌하는 것 같습니다.

문제는 수면 중에 (다소 드물게) 스크립트가 충돌하거나 반환하지 않는 경우가있는 것 같습니다. 나는 아직 확신 할 수 없지만 스크립트가 백업을 선택하지 않고 처리를 다시 시작하지 않는다는 것을 알 수 있습니다.

나는 무엇이 일어나고 있는지에 대한 조언이나 아이디어를 찾고 있습니다. 그래서이 문제를 해결하기 위해 무엇을 찾아야할지 생각해 봅니다.

감사합니다.

+0

어떻게 스크립트를 호출 할 php.ini 파일의 최대 실행 시간? 명령 줄, 웹? – Damp

+0

서버 또는 호스팅 계정? 많은 호스트에는 클라이언트 스크립트가 오래 동안 실행되는 것을 막는 스크립트가 있습니다. –

답변

0

일부 코드를 게시 할 수 있습니까?

스크립트가 충돌하거나 반환하지 않을지 확실하지 않으므로 sleep 명령을 누르지 않고 실행을 마친 다른 영역이 스크립트에있을 수 있습니다.

0

체크

$time=ini_get('max_execution_time'); 
$slept=0; 
while(!dataready()){ 
    sleep(1); 
    $slept++; 
    if($slept>=$time-4) die("script timed out"); 
} 
관련 문제