2014-08-31 174 views
0

我無法爲我的項目運行cron作業,它運行在本地主機上。我需要在一個月內運行一次流程。在這裏我正在考慮登錄作爲觸發器。腳本運行一次一個月,但不使用cron作業

if (date is 01/MM/YYYY and user is superadmin) 

run this script 

我的問題是,如果在多個超級管理員登錄一次,然後腳本將再次運行。我的代碼應該是什麼來防止這種情況。我可以簡單地把一個按鈕用於更新,但不考慮這個選項。

回答

0

創建一個新的文件,並調用它:last_run.txt在這個文件中,您會更新每個腳本完成運行時間的當前日期。

每當超級管理員登錄,運行腳本之前,檢查這個文件,看看日期是當前日期 - 如果它是:擺脫困境,如果不是 - 運行。

0

作爲後臺做你可以使用類似的方法。守護進程通常使用位於/ var/run下的pid文件來確保守護進程的單個實例。爲什麼不記得上個月運行腳本時創建運行文件?在每次登錄時,您都會檢查本月是否已執行腳本? 爲什麼你不能使用cron?