2013-07-30 8 views
0

PHP 스크립트를 무기한으로 실행해야하지만이 작업을 수행하는 좋은 방법을 찾을 수 없습니다. 내 서버는 Windows Server 2008에서 실행됩니다.PHP (CLI) 스크립트를 무기한으로 실행하십시오.

타이머 작업에 의존 할 수 있다고 생각합니까? 더 나은 대안이 있습니까?

미리 감사드립니다. 오히려 주기적으로이하는 어떤 작업을 수행하기 시작되지 않고, 지속적으로 실행하는 스크립트가 필요한 경우

+1

'set_time_limit (0);'을 사용하고 시작시 스크립트를 실행하는 것 외에? – Crontab

+0

.. 왜? 아마도 크론 작업이 더 좋은 아이디어일까요? – Jonatan

+0

무기한으로 무엇을 의미합니까? 스케줄에 따라 반복적으로 운영되고 있습니까? 또는 결코 종료하지 않습니까? 끝내지 않는 것이 쉽습니다 ... 그만 두지 마십시오. –

답변

-1

는, 당신은 따라서, 무한 루프를 입력해야합니다

while (1) { 
    do_something(); 
    sleep(1); 
}; 

sleep()를 생략하지 마십시오 성명, 당신이 전체 프로세서를 먹는 스크립트를 신경 쓰지 않는 한.

+0

Aaron에게 감사드립니다. 예약 된 작업과 함께이 작업을 재시작시 시작할 때 실행하게하는 것이 리소스 측면에서 좋은 솔루션이 될 수 있다고 생각하십니까? – Olsi

+0

@Olsi 물론 시작시에만 작업이 실행되도록하거나, 이미 실행중인 인스턴스가 있는지 확인한 다음 PHP 코드가 이미 실행중인 인스턴스를 확인한 다음 종료하면됩니다. 그것 이외의'sleep (1)'은 스케줄러가 실제로 그 일을하기 위해 필요한 것 이외의 다른 CPU 시간을 가져 오는 스크립트를 만듭니다. 유일한 나머지 관심사는 메모리 사용량입니다. RAM에있는 PHP 인터프리터가 스크립트에 할당하는 RAM은 스크립트가 종료 될 때까지 할당 된 채로 남아 있으므로 일반적으로 중요하지 않은 메모리 누출이 여기에서 중요한 문제가 될 수 있습니다. –

관련 문제