2009-03-01 53 views
11

我寫了一個腳本,從solr獲取數據,該數據的日期在指定的時間段內,我使用日曆cron運行腳本。如何增加cronjob/crontab的超時時間?

問題是cronjob沒有完成任務。如果我手動運行腳本(在同一時間段內),它運行良好。如果我減少指定的時間段,腳本也會從cron運行。所以我的猜測是cronjob在運行腳本時超時,因爲有很多數據需要處理。

如何增加cronjob的超時時間?

PS - 1.我在cronjob中運行的腳本是一個運行python腳本的bash腳本。

回答

5

在運行腳本之前,您可以嘗試在cronjob中使用ulimit -t [秒數]。

18

請注意,建議的ulimit -t解決方案將限制使用的CPU時間量,而不是實際經過的時間量。

bash手冊頁:

ulimit [-HSTabcdefilmnpqrstuvx [limit]] 
... 
-t  The maximum amount of cpu time in seconds 

而且更重要的是,cron的不擺在首位強加任何超時。它只是啓動任何過程並繼續前進。


BTW:對不起,發佈這個答案,但我沒有足夠的點添加評論呢。

相關問題