如何加快处理大量数据的rake任务?

时间:2012-04-11 09:52:27

标签: ruby-on-rails ruby ruby-on-rails-3 rake mapreduce

我在我的rails应用程序中使用rake任务,在处理“少量数据”时很好,但如果需要检索/计算几千个记录,则任务可能需要花费很多时间。

Rake任务很容易理解和开发,我真的想继续使用它们但是在涉及大量数据时是否有一些建议?

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

2 个答案:

答案 0 :(得分:1)

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

您可以尝试对代码进行重新分解,看看是否有一些以前没有看到过的快捷方式。

如果可以同时完成任务,您可以尝试关闭或分叉任务。 如果您要在rails应用程序中尝试此操作,我建议您使用Spawn

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

此外,如果您在一天中定期运行rake任务,我建议使用像Delayed_Job这样的东西来处理这个问题,这样每次需要运行任务时都不会启动并退出rails实例。

答案 1 :(得分:0)

我建议threachjruby