我已經設置了一個每天運行腳本的cronjob。該腳本從數據庫中提取一列ID,循環遍歷每個ID以從數據庫獲取更多數據,並基於檢索到的數據生成XML文件。檢查cron作業已正確運行腳本 - 在批處理中記錄錯誤的正確方法
這似乎在前幾天運行良好,但是,ID列表變得越來越大,今天我注意到並非所有的XML文件都已經生成。它似乎是沒有運行的隨機ID。我已經手動運行腳本爲單獨生成的一些缺失ID生成XML,並且運行時沒有任何問題。
我不確定如何定位問題,因爲cron作業正在運行,但並不總是生成所有的XML文件。任何想法,我如何能指出這個問題,並迅速找出哪些文件尚未運行。
我想也許添加timestart
和timeend
領域的數據庫,然後輸入每個XML生成的開始和結束這些價值正在運行,這樣我可以看到發生了什麼跑,什麼沒有,但想知道是否有一個更好的方法。
set_time_limit(0);
//connect to database
$db = new msSqlConnect('dbconnect');
$select = "SELECT id FROM ProductFeeds WHERE enabled = 'True' ";
$run = mssql_query($select);
while($row = mssql_fetch_array($run)){
$arg = $row['id'];
//echo $arg . '<br />';
exec("php index.php \"$arg\"", $output);
//print_r($output);
}
這是一個糟糕的主意,如果所有的記錄都是可以關係的,使用(INNER)JOIN – ajreal 2011-12-16 11:24:45
不好主意?請解釋。數據庫是完全獨立的。 – LeeTee 2011-12-16 12:49:12