2010-06-17 43 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