在Heroku中更快地处理Resque作业?

时间:2013-05-07 15:54:27

标签: ruby-on-rails heroku resque

我在Heroku应用程序中使用Resque进行后台工作,我想知道是否有办法更快地处理给定的作业。

例如,有一些工作涉及获取大文件(20GB +),读取其内容,并将其拆分为数据库条目(数百万条目)。

这发生在一份工作中。

投掷更多工人不起作用,因为只有一名工人被用于工作。那么有没有办法让一个给定的工人更快地工作?

2 个答案:

答案 0 :(得分:1)

没有看到任何代码很难说,但也许有机会优化它创建的UPDATE或INSERT?

如果它像

那样循环
csv_file.each_line do |line|
  Record.create ...
end

您可以通过对其进行批处理来提高性能,使其从文件中读取1000行,然后对数据库执行1,000行的INSERT。

SO answer显示如何使用create进行批量插入。

答案 1 :(得分:0)

一种选择是使用具有双CPU和双内存的新2x dynos。