当前位置:  开发笔记 > 前端 > 正文

在Rails中运行时间很长

如何解决《在Rails中运行时间很长》经验,为你挑选了1个好方法。

我有一个控制器,可以生成HTML,XML和CSV报告.用于这些报告的查询需要一分钟才能返回结果.

在后台运行这些任务然后将结果返回给用户的最佳方法是什么?我已经研究过Backgroundrb.对我的需求有什么更基础的吗?



1> Mike Trpcic..:

您可以查看使用DelayedJob为您执行这些查询,并有一个名为"NotificationQueue"的附加表.作业完成后(使用其结果集),将结果集和进行该查询的人员的用户ID存储在NotificationQueue表中.然后在每个页面加载(如果你愿意,每15-20秒),轮询该数据库并查看是否有任何已完成的查询.

DelayedJob真的很棒,因为你编写的代码好像不会是一个延迟的工作,只需更改代码即可执行以下操作:

#Your method
Query.do_something(params)

#Change to
Query.send_later(:do_something, params)

我们一直在工作中使用它,它工作得很好.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有