0

我在我的 Rails 应用程序中使用 rake 任务,在处理“少量数据”时很好,但如果需要检索/计算数十万条记录,则任务可能需要很长时间。

Rake 任务很容易理解和开发,我真的很想继续使用它们,但是当涉及到大量数据时有什么建议吗?

例如,我在考虑 map/reduce 算法。这是要走的路吗?

4

2 回答 2

1

慢的不是耙子。Rake 只是启动您的应用程序的一个实例并运行您发送给它的任何内容。

您可以尝试重构您的代码,看看是否有一些您以前没有看到的快捷方式。

如果可以同时完成的工作,您可以尝试线程化或分叉任务。如果你打算在你的 Rails 应用程序中尝试这个,我会推荐使用Spawn 。

有时你的工作只需要很长时间。大数据 = 大时代。

此外,如果您全天定期运行您的 rake 任务,我建议您使用类似 Delayed_Job 来处理此问题,这样您就不会在每次需要运行任务时启动和退出 rails 实例。

于 2012-04-11T14:32:03.703 回答
0

我推荐threachjruby

于 2012-04-11T10:00:31.777 回答