使用FasterCSV gem将值写入CSV的延迟

时间:2017-03-04 06:59:40

标签: ruby-on-rails ruby fastercsv

我正在使用FasterCSV gem从一个csv文件读取值并执行一些操作并通过添加一个指定每行状态的附加列将相同的数据转储到不同的csv文件。 以下是相同

的代码
   path ="#{RAILS_ROOT}/data/reports/file1.csv"
   output_path = "#{RAILS_ROOT}/data/reports/file2.csv"
   FasterCSV.open(output_path, "w") do |csv|
   FasterCSV.foreach(path,:headers => false) do |row|
      if self.import_file_has_header == true
        if starting_row == 0
          row << "Status"
          csv << row
          starting_row = starting_row + 1
          next
         end
      end
     ActiveRecord::Base.transaction do
       # doing some operations 
      end
     row << "Success"
      csv << row
     end
   end

即使操作在一个事务中成功,转储数据有一个延迟,这个在下载文件时观察到,在文件大小增加一段时间后开始显示0 MB,并且有一段时间它将是相同尺寸和过程将继续。这有什么理由还是我做错了什么?

我正在使用ruby 1.8.7和fastercsv(1.5.4)。

0 个答案:

没有答案