2013-05-07 71 views
0

我在Heroku应用程序中使用Resque作为后台作业,我想知道是否有办法让一个给定作业更快地处理。例如,有一些作业需要占用大文件(20GB +),读取它的内容并将其分成数据库条目(数百万条目)。在Heroku中快速处理Resque作业?

这发生在一个单一的工作。

由于只有一名工人用于工作,因此投掷更多工人无法工作。那么有没有办法让一个给定的员工更快地工作?

回答

0

一种选择是使用新的2x dynos,它为你的工作者提供了双CPU和双存储器。

1

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

如果它像

csv_file.each_line do |line| 
    Record.create ... 
end 

循环您可以通过分批改进它的这种性能,使其读,说,从文件中1000行,然后做的1000行到数据库的INSERT 。

SO answer显示了如何使用创建批量插入。