首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails中的长时间运行任务

Rails中的长时间运行任务
EN

Stack Overflow用户
提问于 2010-02-23 23:45:45
回答 1查看 483关注 0票数 1

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

在后台运行这些任务,然后将结果返回给用户的最佳方法是什么?我查过Backgroundrb了。还有没有更基本的东西可以满足我的需求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-23 23:53:03

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

DelayedJob真的很棒,因为您编写代码时,就好像不会是一个延迟的作业一样,只需更改代码以执行以下操作:

代码语言:javascript
复制
#Your method
Query.do_something(params)

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

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2319454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档