2013-03-20 1 views
0

저는 codeignitor 프레임 워크에 PHP 스크립트가 있습니다. 최소 4 ~ 5 일 동안 스크립트를 실행해야하는 복잡한 계산 알고리즘에서 작동합니다. 그러나 그것은 몇 시간 동안 달리기 후에 멈 춥니 다. 스크립트가 끝날 때까지 계속 실행하려면 어떻게해야합니까?cron 작업을 사용하여 4 ~ 5 일 동안 PHP 스크립트를 실행하는 방법은 무엇입니까?

cron 명령은 :

13 21 * * * /usr/bin/php /var/www/project/index.php 'test/mytest' 
+3

'cron은 정기적으로 스크립트를 시작/실행하기위한 것이지, 실행중인 것을 유지하는 것이 아닙니다. – jeroen

+1

Cron은 "계속 실행"하지 않습니다. –

+1

당신이 할 수없는 중단을 처리 할 수있는 무언가를 생각하지 않는 한. – ITroubs

답변

2

아마도 PHP가 내장 된 타임 아웃 안전 프로토콜을 제거합니다 php.ini의

+0

네, 네가 맞다고 생각해! –

1

set_time_limit(0);max_execution_time에 따라 달라집니다. 스크립트가 너무 오래 실행되면 스크립트를 중단시킬 수있는 시스템 중단 및 아파치/웹 패널 프로토콜과 같은 더 많은 요소가 있음을 알고 있어야합니다. 예를 들어 일부 웹 호스트는 제한 시간을 제거하더라도 스크립트를 중단합니다.

행운을 빌어 요!

+0

그가 쉘 명령으로 작업 중이기 때문에 스크립트를 죽일 서버가 없습니다 ... – ITroubs

+0

시스템이 스스로 죽이거나 시간 초과가되는 지점까지 그대로 두어 두십시오. 귀하의 설명에 감사드립니다. –

+0

그래, 왜 그가 내 대답을 내 대답에 그는 어떤 종류의 생각을해야한다고 생각해야합니다 interruptiopns에 관한 강력한 구현 – ITroubs

1

당신은 432,000

에 max_execution_time을 설정할 수 그러나 스크립트를 막을 수 뭔가가 항상 있기 때문에, 나는 그것이 강력한 중단으로 만드는 considder 것이다.

1

이 작업을 수행하려면 GNU 화면을 사용해야한다고 생각합니다. 화면을 시작하고, PHP 스크립트를 시작하고, 화면을 분리하십시오. 화면을 죽일 때까지 실행됩니다.

+1

당신이 내부적으로, 내 생각에, 스크립트는 여전히 php.ini 규칙 때문에 자체적으로 시간 초과됩니다 구성이 설정되었습니다. 'php.ini' 파일을 변경하거나 내장 함수를 사용하여 덮어 써서 해당 파일에 대해서만 PHP 설정을 지정해야합니다. 여기서 문제는 프로세스보다 PHP 스크립트 자체를 생생하게 유지하는 것입니다. –

+0

예, 다른 사람이 php.ini 파일의 설정에 대해 말한대로 동의합니다. –

관련 문제