2012-09-17 74 views
2

我在Heroku下载大文件时遇到一些问题。我必须下载并解析大于1Gb的文件。我现在想做的是使用curl将它们下载到/ tmp文件夹中(Rails应用程序的)。 curl命令是:“curl --retry 999 -o#{destination}#{uri} 2>/dev/null”并且目标是Rails.root.join(“tmp”,“file.example” )在Heroku下载大文件

问题是,几分钟下载后,正在下载文件的“卷曲”过程完成,远离下载完成。在完成之前,日志显示大量“超出内存”。这使我想到,当我将它保存到/ tmp文件夹时,它将下载的内容存储在内存中,并且当内存达到极限时,该进程将被终止。

我想知道你们中的任何一位是否已经在Heroku上遇到过类似的问题,并且如果保存到/ tmp文件夹确实可以像这样工作。如果是这样,你有任何建议让Heroku工作吗?

感谢, Elvio

+0

您可以像这样使用tmp文件夹,但不能与这样的大文件一起使用。你也不能依赖那个在那里停留任何时间的文件。它在Cedar堆栈上有点不同,但仍然是相同的想法。 –

回答

-1

你可能最好保存在使用雾像宝石S3外部云服务提供商的文件。在任何情况下,Heroku都是只读文件系统,所以他们不会让你卷曲,更少写信给它。