真面目なブログは http://repose.hatenadiary.jp

require "parallel"
# db からデータ取ってきて加工するメソッド
def sequence(id)
...
end

def write_sequence(id)
  open("../data/#{id}.csv", "w"){ |f|
    sequence(id).each do |elem|
      f.puts elem.to_s
    end
  }
end

def all
  Parallel.map(@ids){ |id|
    write_sequence(id)
  }
end

みたいな感じで書いてたらwriteのところでエラー出まくって本当にめんどくさかったので

write_sequence(ARGV[0])

とだけ書いたp.rbを用意して

  Parallel.map(@ids) do |id|
    system "ruby p.rb #{id}"
  end

とかやったけど負けた気分になった.