我正在为一个使用ruby on rails的项目工作。有一个页面上有一个项目列表,你可以选择其中的多个,并一次更改它们的信息。但是当数据太大,你一次要处理的项目太多的时候。它将运行几分钟,然后页面将显示错误消息,这是由服务器超时引起的…我怎么能让它运行十分钟,但不超时,并返回一个错误消息?
没有一种方法可以做到。
首先,你可以看看你的日志检查长sql查询,如果你看到一些很长,你可以试着优化它们。
您还可以使用rails-footnotes之类的gem来查看dev环境中每个页面底部的sql查询。
如果您正在执行一些昂贵的任务,请尝试使用resque或delayed_jobs等工具在后台处理它们。
最好的用户友好的解决方案是使用一些后台任务…
与delayed_job类似,例如:
def my_action
do_some_stuff
end
handle_asynchronously :my_action, :priority => 1
然后,您的操作将异步完成,您的服务器将继续正常工作。