2016-09-06 7 views
0

상황 : Google Pagespeed API에 많은 요청을 실행하는 PHP 스크립트가 있습니다. 이러한 요청에는 어느 정도 시간이 걸립니다. 로컬 개발 환경에있는 동안 완벽하게 실행되는 스크립트를 프로그래밍했습니다 (max_execution_time이 설정되지 않음). 음, 편집 가능한 max_execution_time (30 초)없이 프로덕션 서버에서 스크립트를 실행하고 싶습니다. 이러한 기능을 구현하는 것이 정말 어렵습니까?브라우저의 PHP 장기 실행 프로세스

약간의 코드로 아이디어를 주시면 다행입니다.

+2

작은 청크로 작업을 분할하십시오. 예를 들어 실행할 쿼리가 100 개있는 경우 하나의 쿼리를 실행하도록 스크립트를 변경 한 다음 자체 새로 고침 헤더를 추가하여 다른 세션에서 다음 쿼리를 계속할 수 있도록하십시오. –

+0

그런 식으로 Ajax를 사용하는 것이 낫지 않습니까? –

+0

@ JanAndrèSchlösser 왜 AJAX를 사용해야한다고 제안합니까? 사용자 인터페이스가 될 것인가 아니면 하루에 한 번 실행하도록 계획 한 장기 실행 작업입니까? 예정된 CLI 작업이 최선의 선택입니다. 웹 서버에 예약 된 작업을 설정할 수 있습니까? – MonkeyZeus

답변

0

코드가 없으면 file_get_contents의 컬을 사용하고 있다고 가정하므로 curl_multi_* functions을 사용하면 동시에 여러 http 요청을 보내고 실행이 끝나기를 기다릴 수 있습니다.

여러 번 사용하여 실행 시간을 크게 향상 시켰습니다.

희망이 도움이됩니다.