2012-11-26 92 views
2

我在我的數據庫中設置了一些條目以在php中運行一些腳本。因此,我將每隔幾分鐘運行一個cron文件,以查看是否對於接下來的幾分鐘我有一些腳本要運行,我將觸發它們,我在想如果我有一個腳本要在12:10執行的腳本會發生什麼會發生什麼在5分鐘內,如果我有另一個請求在12:12執行第一個腳本尚未完成時運行相同的腳本,會發生什麼情況。文件是否被鎖定直到執行完成?或者是什麼?在同一時間運行cron的多個實例

它是在不同的時間執行相同的文件。

我想我可以用cron選項卡做到這一點,但我不喜歡這樣做。

+0

它們將同時運行。 – Ibu

回答

2

他們將不會同時運行問題,但請記住,如果他們將寫入相同的文件/數據庫表,您可能會遇到問題。

2

它會運行腳本兩次,三次或多次它喜歡。如果您只想一次運行一個腳本,則可以創建一個鎖定文件,然後檢查它是否存在。例如:

if(file_exists('/tmp/script.lock')){ 
    exit(); 
} 
file_put_contents('/tmp/script.lock',''); 

// execute code 

unlink('/tmp/script.lock'); 
相關問題