2013-08-21 2 views
0

여러 웹 사이트에서 html 결과를 얻으려면 cron (php) 스크립트를 작성해야합니다.async PHP cron job? 그것은 가능한가?

내 데이터베이스가 50 개의 웹 사이트 기록 (즉, http://www.somewebsite.com/page.php)을 가지고 있다고 가정 해 봅니다. 따라서 cron 작업은 x 분마다 실행되도록 설정됩니다. 실행 중일 때 데이터베이스에서 레코드를로드하고 각 웹 사이트의 상태를 확인한 다음 HTML 결과를 다시 얻은 다음 분석합니다.

제 n 번째 레코드의 웹 사이트가 응답하지 않거나로드하는 데 시간이 걸리는 경우 (예 : 해외 웹 사이트), n + 1의 레코드가 실행되지 않습니다. 레코드가 완료되면이 cron 작업이 완료되는 데 시간이 걸립니다.

브라우저에서 스크립트를 실행하면 ajax async를 사용하여 쉽게 처리 할 수 ​​있지만 cron 작업이므로이 상황을 어떻게 처리해야하는지 잘 모릅니다.

+0

크론 작업은 이미 비동기입니다. – cdhowie

+0

어떻게 설명 할 수 있습니까? 내 cron.php가 실행 중이고 20 번 라인이 웹 사이트 html을 얻으 려한다면 어떻게 20 번 라인을 끝내지 않고 21 번 라인을 실행할 수 있습니까? – Josh

+1

나는 당신이 혼란스러운 용어라고 생각한다. Cron 작업은 비동기 적으로 실행됩니다. Cron과 아무 관련이없는 * PHP * 내의 비동기 HTTP 요청을 배치하는 방법을 묻습니다. 기껏해야 귀하의 질문은 명확하지 않습니다. – cdhowie

답변

0

다음은 수행 할 수있는 작업입니다. crontab에서 sh 스크립트를 실행하고 비동기 작업을 처리하는 스크립트 호출 .php 프로그램에서 실행하십시오.

0

'비동기'가 필요하면 다른 언어로 옮기는 것이 더 좋습니다. 전체 시스템 아키텍처를 만드는 방법에 대한 주요 업그레이드입니다. 따라서 PHP로 많은 돈을 투자하고 더 나은 솔루션을 위해 NodeJS를 조사한 결과 PHP 개발자에게 중요한 업그레이드가되었습니다. 그리고 PHP는 이러한 요구를 내부적으로 또는 핵심에서 아직 지원하지 않지만 'Aync'라는 용어가 도입되었습니다.