我的任务大约需要20到30秒。我希望在呈现视图后立即运行此任务。我希望此任务的输出存储在会话变量中。什么是最简单的方法来实现它3.
解释我需要什么。我正在向用户显示推文列表(这是呈现的视图)他们必须经历它们。我希望在渲染此视图后调用一个方法,该方法将采用相同的推文并对它们进行聚类(20-30秒进程)。我应该在会话中获得聚类的结果,以便我可以在下一页显示它们。
我该怎么做?
答案 0 :(得分:1)
您应该能够在呈现视图的控制器方法中执行此操作。只需在'render'调用后添加代码即可。例如:
def index
@tweets = Tweet.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @tweets }
end
# do something with tweets
puts "#{@tweets}"
end
答案 1 :(得分:1)
这就是我解决问题的方法
resque
作为后台任务。我在调用渲染之前将任务排队。它并不完美,但对于研究反馈收集工具而言,它已经足够快了。