2013-06-04 4 views
0

PHP의이 부분은 저에게 새로운 것입니다.백그라운드에서 여러 PHP 스크립트를 시작하는 방법은 무엇입니까?

상위 스크립트에서 많은 수의 (25-50) 개의 개별 프로세스를 실행하는 데 관심이 있습니다. 부모 스크립트가 다른 스크립트가 완료되기를 기다리지 않고이 다른 스크립트를 병렬로 실행하고 싶습니다.

각 스크립트는 웹 서비스를 호출하는 지정된 시간 동안 실행됩니다.

누구나 내게이 방향을 줄 수 있습니까? 특별히 코딩 된 답변을 요구하지는 않지만 몇 가지 지침이 필요합니다.

감사합니다.

+0

별도의 PHP 프로세스 또는 명령 줄 프로세스를 의미합니까? 어느 PHP 포크, 또는 시작하기 위해 PHP 간부 ... – dan360

+1

안녕하세요 dan360. 별도의 PHP 스크립트입니다. 내가 말한 두 항목을 확인해 보겠습니다. 감사합니다 – Bob

답변

0

정말 당신이 달성하려는 작업에 따라 달라집니다. @ Julien의 포크 방법이 효과적 일 수 있지만 웹 서비스 호출이 데이터 집약적 인 경우에는 바람직하지 않습니다. 나는 포킹이 반대로 작동한다는 것을 말하는 것이 아니라, wev 서비스가 다양하기 때문에 전화를 걸려면 일을 더 잘 관리해야합니다.

당신이 할 수있는 또 다른 일은 cronjobs를 기반으로합니다. 예를 들어 앱의 일부 사용자를 위해 이러한 웹 서비스를 호출하는 경우 처리해야하는 레코드를 추가하는 DB 테이블 인 큐를 만듭니다. 케이크를 사용하는 경우 Cake Shells을 사용하십시오. 그런 다음이 레코드를 매번 처리하는 셸을 호출하는 cronjob을 설정하십시오. 모든 서비스를 분리하는 것은 별도의 대기열입니다. 최소한 논리가 다른 서비스는 그렇지 않습니다. 웹 서비스 호출 중 하나에서 오류가 발생하면 어떤 방식 으로든 모든 것을 위험에 빠뜨리지 않으므로이 방법을 사용하면 위험도를 분산시킬 수 있습니다. 각 큐에 대해 별도의 로깅 기능을 사용하면 문제를 신속하게 추적 할 수 있습니다. 웹 서비스를 자주 사용함에 따라 문제는 응용 프로그램 외부에서 발생합니다.

+0

Borislav, 아주 잘 서면 접근에 감사드립니다. 내가 제안한 전략을 확실히 고려할 것입니다! – Bob

관련 문제