首頁  >  文章  >  後端開發  >  php定時排程任務

php定時排程任務

巴扎黑
巴扎黑原創
2016-11-24 15:16:431000瀏覽

(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); //刪除標記檔案

?>


@unlock($f); //刪除標記檔案

?>🎜🎜@unlock($f); //刪除標記檔案🎜?>🎜🎜@unlock($f); //刪除標記檔案🎜?>🎜🎜@unlock($f); //刪除標記用程式碼實現的一種方法,還有一種方法就是用Php cli模式來實現計劃任務🎜🎜如window 下用運行->cmd🎜🎜運行php.exe,然後用按AT,根據裡面的要求輸入即可🎜🎜 🎜🎜不同的系統有不同的方法,linux是又不同的。具體沒實現過,但一定是可以行的🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn