我正在运行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
如果我从控制台运行任务,它会正常执行,但是从控制器执行的任务会在一段时间后停止......
答案 0 :(得分:1)
请求最终超时;这不是这种命令的正确位置。
相反,尝试其他方法来安排任务,例如cron或我的调度程序守护程序gem:
http://www.github.com/ssoroka/scheduler_daemon
如果需要从控制器驱动它,请让它更新数据库条目,甚至改写文件。