(1) 程式只要設定完排程任務之後啟動一次就行,然後程式會一直運作,直到伺服器重啟
(2)若是重複運作的話,可能不是自己想要的結果,那樣的話會啟動多個同一排程任務
(3)若是每個頁面都include 這個頁面那就啟動多個了永久運行的程序消耗不必要係統資源,
而且也會影響頁面的正常訪問,若是放在前面的話,訪問的時候頁面會一直處於等待返回狀態(那是死循環)
ignore_user_abort(true); //即使Client斷開(如關掉瀏覽器),PHP腳本也可以繼續執行.
set_time_limit(0); //執行時間為無限制,php預設的執行時間是30秒,透過set_time_limit(0)可以讓程式無限制的執行下去
$interval=60*5; // 每隔5分鐘執行
$f = 'lock. txt';
if(file_exists($f)){ //判斷標記檔案是否存在,存在就退出,防止重複執行
exit();
}
do{
if(@get_file_contents($f) == ' stop'){ //設定停止條件, 停止的時候只要寫入lock.txt 寫入stop
break;
}
@file_put_contents($f,'run');///重複寫入一個文件,標誌已經執行計劃任務
....省略任務代碼
sleep($interval);//程式暫停5分鐘
}while(true);
@unlock($f); //刪除標記檔案
?>
?>
@unlock($f); //刪除標記檔案
?>@unlock($f); //刪除標記檔案?>
@unlock($f); //刪除標記檔案
?>
@unlock($f); //刪除標記檔案