0
我正在寫一個PHP腳本(OK,這是一個後臺進程的工人),我想在後臺運行,並遵循以下僞代碼:運行在服務器上的PHP腳本開始
do {
// stuff
sleep(60*30); // 30 minutes
} while(1);
現在,我該如何設置這個寶貝在服務器重啓的時候自動運行。我不需要擔心狀態,因爲所有內容都存儲在MySQL數據庫中 - 並且它應該能夠從停止的地方繼續。
我在AWS上使用Ubuntu 12.04 x64
服務器(如果有的話)。
謝謝!
放棄睡眠()並使其每30分鐘運行一次cronjob可能是更好的選擇 –
@guido如果它不能在30分鐘內完成,該怎麼辦?我將有兩個進程同時運行。 – FloatingRock
@FloatingRock通常會在我的cron開始處放置一個空白的零字節文件,如果鎖定文件可用於暫停執行,則該操作將用作LOCK,否則我繼續操作,並在腳本結尾處刪除該鎖定文件。然後通過crone進行設置。使用cron是個好主意,因爲它比使用30分鐘睡眠執行的腳本佔用的內存少。 –