如何使用EventMachine在Ruby中读取和处理文件

时间:2013-04-26 00:20:43

标签: ruby file eventmachine

我想知道是否有人想办法用EventMachine处理更大的(500Mb +)文本文件,你实际上需要访问各个行。

1 个答案:

答案 0 :(得分:0)

我想我找到了答案,唯一令人讨厌的是在io.gets之后调用read_chunk,我不确定它为什么会起作用:)

require 'eventmachine'
def process_line(line)
  puts line
end
EM.run do
  io = File.open('query_profiles.csv')
  read_chunk = proc do
    if line = io.gets
      process_line(line)
      EM.next_tick(read_chunk)
    else
      EM.stop
    end
  end
  EM.next_tick(read_chunk)
end