我遇到Ruby on Rails的问题。
我有一个带有方法的“主机模型”,运行时间更长。
class Host < ActiveRecord::Base
def take-a-while
#do some stuff
end
end
现在我尝试访问在所有主机上执行此方法的页面,并且每次在具有结果的新表行中执行时都会自动显示该页面。 我的问题是HTML文档首先完全呈现,并且只在完成加载(几分钟)后才显示表。
有没有办法解决这个问题?
提前致谢 问候!
答案 0 :(得分:0)
试试这个:
您可以尝试缓存方法take-a-while
的结果
请查看Caching with Rails
答案 1 :(得分:0)
有这种问题。 一种解决方法是使用后台作业(排队系统+状态机)
实际上,在Ruby和Ruby on Rails世界中,有许多选项,如
最简单的设置是使用delayed_job
结帐https://devcenter.heroku.com/articles/delayed-job
的好文章这些文章http://www.rubyspy.com/282_10039570/,http://blog.salsify.com/engineering/delayed-jobs-callbacks-and-hooks-in-rails 可能对处理delayed_job完成的回调有帮助。