2011-02-23 6 views
1

매우 쉽습니다. "N"분마다 여러 개의 PHP 파일을 실행하고 싶습니다. 예를 들면 :PHP 파일을 주기적으로 실행

모든 N 분 { 실행 (script1.php) 실행 (script2.php) 실행 (script3.php) }

내가 crontab을 알고

하지만 난 서로를 찾기 위해 노력했다 해결책. 어떤 제안? 미리 감사드립니다.

+4

왜 cron을 사용할 수 없습니까? –

+2

crontab이 최상의 솔루션입니다. 거기에 스레드를 시작할 수 없습니다 그냥 N 초 마다이 말을 할 수 없다는 PHP에서 스레드가 없습니다. crontab에 무슨 문제가 있습니까? –

+2

cron에 대한 또 하나의 표결로, 어떤 이유로 든 사용할 수 없다면 다른 상업용 자동화 솔루션이 있습니다. – Orbit

답변

3

Cron 작업을 사용하는 것이 일반적인 해결책입니다. 왜 CRON을 사용하고 싶지 않은지 설명 할 수 있습니까? 또한 시스템에 cron과 유사한 기능을 추가하는 라이브러리를 보았습니다. 예를 들어 Java/Groovy/Grails 세계에는 Quartz 라이브러리/플러그인이있다. 빠른 Google 검색을 통해 Quartz와 비슷한 phpJobScheduler라는 PHP 라이브러리가 생성되었습니다. 필자는 phpJobScheduler를 사용한 적이 없으므로 그것을 보증 할 수 없습니다.

왜 내가 crontab을이 용도로 사용하고 싶지 않은지에 관심이 있습니까? 이 서버를 운영하는 주요 웹 운영자가 되시겠습니까? 아니면 기존의 sysop 팀에 의존 할 것입니까? 자신이 선택한 방법으로 가장 영향을받을 수 있으므로 입력을 받아 볼 수 있습니다. 나는 그들이 간단한 스케줄링을 위해 cron을 좋아하는 경향이 있다는 것을 발견했다.

+0

표준 인터페이스를 사용하여 (또는 많은 제어 패널을 통해) 여러 cron 작업을 관리하는 것은 관리자의 악몽이 될 수 있습니다. 설치하기가 훨씬 쉽습니다. http://phpjobscheduler.co.uk/그러면 몇 초 만에 작업 페이지를 쉽게보고 편집 할 수 있습니다 (하지만 내 오픈 소스 응용 프로그램이므로 그렇게 말할 것입니다). –

0

Windows에서 나는 Task Scheduler라는 기본 proggie를 사용했습니다. 리눅스에 관해서는 네, 크론 작업이 당신의 대답입니다.

0

당신은 영원히 X 분마다 루프를 실행하고 &과 함께 명령을 실행하여 백그라운드 프로세스로 만들 수 있습니다.

당신이 항상 실행하려는 경우 &

것은, 당신이 그 때의 맛에 따라있는 init.d 또는 서비스를 시작하지 추가해야 할 것 /home/user/bgscript.php

/경로 /로는/PHP는 *아니야.

이 솔루션은 가능하지만 개인적으로는 crontab과 함께 설치하고 검증되고 잘 작동하는 것이 좋습니다. 왜 그걸 피하니?

+0

crontab을 피하는 가장 큰 이유는 이제는 PHP에 대해 더 이상 알지 못한다는 것입니다. 어쨌든 답변 해 주셔서 대단히 감사합니다. 나는 crontab을 사용해 보겠습니다. BTW는 crontab을 사용하여 서버를 호스팅하거나 호스팅 회사에 따라 다릅니 까? – Iker

+0

그건 당신의 호스트와 당신의 호스팅 패키지에 달려 있습니다, 그들은 모두 당신이 당신의 서버에 당신에게주는 다른 접근 레벨을 가지고 있습니다. – Infotekka

0

스크립트를 작성하여 데몬으로 실행하고 설정된 간격으로 특정 작업을 수행 할 수는 있지만 실제로는 cron을 시뮬레이트하는 것입니다. PHP 스크립트를 데몬으로 실행할 수있는 능력이 있다면 그것이 cron이 만들어지는 것이기 때문에 정말로 또한 cronjob으로서 그것을 달리게 할 수있을 것입니다.

PHP 스크립트를 데몬으로 실행하는 방법에 대한 자세한 정보가 필요하면 read this great intro. 데몬과 cron을 비교해 보면 읽을만한 가치가 있습니다.

관련 문제