2010-06-17 49 views
1

我正在運行rake任務(必須啓動約24小時),但它會在意外時間停止。 STRERR爲空。 它運行任務的代碼:系統調用正在終止

@bucket = Bucket.find(params[:id]) 
cmd = "#{`which rake`.chomp} bucket:generate[#{@bucket.id}] --trace 2>&1 > #{Rails.root}/log/bucket-#{@network.id}.log &" # 2> #{Rails.root}/log/bucket-#{@network.id}-error.log &" 
system(cmd) 
flash[:notice] = "Generation started" 
redirect_to buckets_path 

如果我從控制檯運行的任務其正常執行,但一段時間後,由控制器執行的任務將停止...

回答

1

請求最終超時;這不適合這樣的命令。

相反,嘗試別的東西來安排任務,比如cron,或者我的調度守護寶石:

http://www.github.com/ssoroka/scheduler_daemon

如果需要從控制器驅動,已經將其更新數據庫條目,甚至寫改爲一個文件。

+0

謝謝!這是我需要的。 – 2010-06-17 16:53:38