2012-11-21 2 views
0

특정 시간 (예 : 5 분) 동안 한 번만 실행하려는 PHP 스크립트가 있습니다. cron 작업을 사용하면이 작업이 무한정 실행됩니다. 다른 방법이 있습니까?스크립트를 5 분 동안 한 번만 실행하십시오 (Linux)

+0

설명해 주시겠습니까? – Undefined

+0

사용자가 서버에서 데이터를 수집 할 시간을 지정합니다. 그렇게하기 위해 나는 cron 작업으로 호출하는 별도의 PHP 스크립트를 만들었습니다. 하지만 이제 스크립트가 실제로 지정된 시간 동안 실행된다는 것을 알게되었지만 매일 실행됩니다 !!! – user1798707

+1

'at '와'batch' 명령을보십시오. 자세한 내용은 http://kb.iu.edu/data/aewo.html. –

답변

0

이 처리하는 방법은 다음과 같습니다

뭔가 실행하는 cron 작업에 필요한 트리거
  1. 은, 크론 작업이 읽을 어딘가에 플래그를 넣어.
  2. "실행해야합니까?"라는 질문을 항상 실행하는 cron 작업을 수행하십시오. 그것은 hte 플래그를 확인합니다. 보고있는 경우 플래그를 삭제하고 지정된 시간 동안 실행합니다. 그렇지 않다면, 다음에 실행할 때까지 기다리십시오 (플래그를 확인하기 위해)
  3. 실제 cron 작업에서 "max_execution_time"을 5 분으로 설정하십시오. 그러고 나서 5 분에 멈 춥니 다. 더 정확히 말하면 루프에서 실행중인 스크립트에 타이머를 포함 할 수 있습니다.
+0

답변 감사합니다. 나는 대안을 찾았다. 시간이 맞으면 exit() 함수를 호출합니다. 또한 exec() 함수를 사용하여 백그라운드 작업으로 실행합니다. 너는 어떻게 생각하니? – user1798707

+0

충분히 공정하게 - 그것은 훌륭한 작품입니다. exit()는 루프에있는 타이머에 의해 참조되는 것이지만 exec가 작업을 훌륭하게 수행한다면. – Robbie

관련 문제