【问题标题】:Rails: Sending a view to delayed job?Rails:发送延迟作业的视图?
【发布时间】:2012-10-30 09:02:18
【问题描述】:

我有一个执行大量非常昂贵的嵌套查询的 Rails 视图。我希望将繁重的工作投入到延迟的工作中,吐出一个缓存文件,并通过 ajax 轮询所述缓存。

我经常做这种事情,但通常我会缓存查询(而不是整个视图)。在这种情况下,编写 SQL 以包含所需的所有内容需要很长时间,我宁愿只将整个部分模板渲染到 delay_job 中。

...这就是乐趣的开始。我遇到了很多错误,尤其是与 form_helpers、设计身份验证等相关的错误。简而言之,有没有人有任何建议:

  • 在延迟作业中呈现部分视图(或返回动作呈现)的简单方法?
  • 实现上述目标的简单方法,无需写出什么是复杂的 SQL/ActiveRecord 查询?

任何想法表示赞赏 - 非常感谢。

【问题讨论】:

    标签: ruby-on-rails ruby delayed-job


    【解决方案1】:

    好吧,以一种相对简单的方式渲染视图本身是可能的,看看this tutorial

    但是,我会研究代码和设置以便能够回答以下问题:

    1. 是否可以优化系统以避免延迟渲染?检查您的数据库索引、使用查询和数据库设置可能会将您认为不可能的事情变为现实情况。

    2. 在延迟作业中收集数据,将其序列化为 json 并在浏览器端执行演示就足够了吗?这样一来,一旦发现瓶颈并决定将处理移回 webapp,就会给自己留一条后路。

    3. 预计算(使用结构更简单的表)可能有帮助吗?您始终可以在后台填充这些表格,甚至可以使用触发器并让您的应用程序以直接的方式工作。

    希望以上内容有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2015-09-08
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      相关资源
      最近更新 更多