2011-01-08 4 views

답변

1

외부 행위 없이는 스크립트를 시작할 수 없습니다.

파일 서버에 SSH 또는 HTTP 서버 또는 그와 비슷한 것이 있으면 다른 서버에서 cron 작업을 구성하여 SSH/HTTP /와 같은 방법으로 스크립트를 시작할 수 있습니다.

또한 루프에서 항상 잠을자는 PHP 스크립트를 만들 수 있으며 현재 시간이 특정 값에 근접한 경우에만 일어나서 작업을 수행 할 수 있습니다. PHP 스크립트의 최대 실행 시간을 수정해야하며 (자세한 내용은 here 참조) 서버 시작시 스크립트를 시작해야합니다. BTW, 이것은 좋은 해결책처럼 보이지 않습니다.

1
if (rand(0,100)==0){ 
    if (!file_exists($tf='tmp/job.crontime') || (time() - filemtime($tf))>(60*60*24)){ 
     ... # your tasks 
     touch($tf); 
     } 
    } 

이 간단한 & 바보 스크립트는 마지막 직장 - ecexution의 시간을 저장하는 파일을 사용합니다. >60*60*24이 (가) 통과하면 작업 코드가 실행됩니다. rand(0,100)은 각 요청에서 작업을 확인하는 오버 헤드를 줄여야합니다. 1/100은 작업을 실행할 기회입니다.

'index.php'끝에 붙여 넣으십시오. 모델로드가 높은 프로젝트에서 사용하지 마십시오 :))

위대한 단점 : 방문자가 없으면 실행되지 않습니다.


UPD : 무기한 실행하고 모든 30 대 여전히 살아보고 touch('tmp/job.crontime')을하는 스크립트를 작성합니다. 또한 현재 시간 인 &이 작업을 수행하는지 확인해야합니다.

index.php에서 30 초 이상 경과 된 경우 - HTTP 요청으로 데몬을 다시 시작하십시오. 추악한, 그러나 완전히 기능적. 시간 제한도 고려해야합니다.

1

나는 Kel의 대답에 동의합니다.

서버에서 지원하지 않는 무료 cronjob 서비스를 사용해 볼 수 있습니다. Online Cronjobs

  • Set Cronjob
  • 그냥 구글에있는 처음 두, 당신은 조금 검색하면 더 될 가능성이있다

    • .

    0

    공개 웹 서버에 있고 충분한 방문수가있는 경우 코드를 실행하여 특정 값, 예를 들어 시간대, 파일에 액세스 한 횟수 (또는 번호를 파일에 저장). PHP 코드를 웹 페이지 위에 올려 놓기 만하면됩니다.

    +0

    죄송 합니다만, "외부 행위없이"읽지 않았습니다. – AJJ

    1

    앞에서 언급했듯이 이것은 "외부 행위없이"문자 그대로 가능하지 않습니다.

    RSS 피드 리더를 사용하기 위해 ThinkUp 소프트웨어에서 찾은 멋진 솔루션입니다. 단순함의 관점에서 보면 이것이 가장 좋은 선택 일 것입니다.

    아이디어는 피드 리더를 사용하여 XX 시간 (또는 원하는 모든 간격)마다 자동으로 사이트의 스크립트를 호출한다는 아이디어입니다. 이 스크립트가 호출되면 유지 관리 작업 또는 원하는 작업을 실행합니다.

    모든 사람이 해당 스크립트를 실행하여 서버가 고장 나지 않도록하려면 URL 매개 변수로 추가 된 고유 한 긴 식별자 문자열을 사용하여 스크립트 (예 : 너에게만 전화가 왔어.

    그 밖의 답변에서는 "가난한 사람의"웹 크론 서비스 중 하나를 사용할 수 있습니다.

    관련 문제