我有一个Rails视图,它执行许多非常昂贵的嵌套查询。我正在寻求将繁重的工作投入到延迟的工作中,吐出缓存文件,并通过ajax对所述缓存进行轮询。
我做了很多这样的事情,但通常我会缓存查询(而不是整个视图)。在这种情况下,编写SQL以包含所需的所有内容需要很长时间,而我宁愿将整个部分模板呈现为delayed_job。
......这就是乐趣开始的地方。我收到很多错误,尤其是与form_helpers,设计身份验证等有关的错误等等。简而言之,有没有人对此有任何建议:
任何赞赏的想法 - 非常感谢。
答案 0 :(得分:2)
好吧,以相对简单的方式渲染视图本身,只需查看this tutorial即可。
但是,我会研究代码和设置,以便能够回答以下问题:
是否可以优化系统以避免延迟渲染?检查数据库索引,使用查询和数据库设置可能会将已经看不到的内容变为真实场景。
是否足以在延迟作业中获取数据,将其序列化为json并在浏览器端执行演示?通过这样做,如果您发现瓶颈并决定将处理转移回webapp,您就可以自行回归。
可能预先计算(使用简化结构的表格)有帮助吗?您始终可以在后台填充这些表格,甚至可以使用触发器,让您的应用程序以直接的方式工作。
希望上述任何内容都有帮助:)