如何使用delayed_job gem上传大数据CSV文件

时间:2015-09-16 17:13:53

标签: ruby-on-rails

@csv_import = CSVImport.new(params[:catalog_import])

当我使用大量数据上传csv时,我收到TIMEOUT错误。

我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

结帐smarter_csv

它可以批量处理大文件。

以下是他们使用Resque和chuck尺寸的文档的示例:

filename = '/tmp/some_file.csv'
options = { :chunk_size => 100 }
n = SmarterCSV.process(filename, options) do |chunk|
    Resque.enque( ResqueWorkerClass, chunk ) # pass chunks of CSV-data to Resque workers for parallel processing
end
=> returns number of chunks