所以我有一个相当长的控制器功能来执行各种任务,大约需要10-15秒。我希望能够在功能进行时更新用户的状态(进度条)。理想情况下,该函数被称为Ajax请求,然后在它进行时更新页面。除非您每个操作只能更新一次页面,否则这将有效。有任何想法吗?谢谢。
这就是我想在代码中做的事情:
def long_function
updatePage "Starting long_function"
#some code which take 5 seconds"
updatePage "Finished with first part"
#some more code which takes a while
updatePage "Finished second part"
#last code part
updatePage "Finished!"
end
答案 0 :(得分:3)
可能是这样的:触发后台任务并给它一个你返回的id。后台任务可以将消息写入标记有该ID的数据库,您可以使用另一个操作来long-poll获取消息,从而更新用户。最后一条消息就是答案。