我正在使用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)。