减少运行大型seed.exs的内存占用

时间:2015-11-13 03:11:32

标签: elixir ecto

我有一个很大的种子文件,我正试图在我的廉价服务器上运行。它是hs关税代码的完整列表,4000多个具有大文本字段的项目。种子文件是1.1mb

我将关税图保存到关税变量,然后执行此操作:

tariffs
  |> Enum.each(fn(tariff)->
    hs_tariff = struct(Myapp.Tariff, tariff)
    Myapp.Repo.insert!(hs_tariff)
  end)

这可以很好地插入我的8gb ram开发计算机上的所有行,但是我的512mb ram服务器上出现了“堆栈粉碎检测到的错误”。如果没有将其分解为许多不同的文件,我怎样才能减少内存使用量来实际在我的服务器上播种?流式传输而不是Enuming它会有所不同吗?

0 个答案:

没有答案