在 Heroku 中下载大文件

elv*_*vio 5 ruby download heroku large-files

在 Heroku 中下载大文件时我遇到了一些问题。我必须下载和解析大于 1Gb 的文件。我现在想要做的是使用 curl 将它们下载到 /tmp 文件夹(Rails 应用程序的)。

curl 命令是:“curl --retry 999 -o #{destination} #{uri} 2> /dev/null”,目标是 Rails.root.join("tmp", "file.example")

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

我想知道你们中是否有人在 Heroku 上遇到过类似的问题,以及保存到 /tmp 文件夹是否真的像这样工作。如果是这样,您有什么建议可以在 Heroku 上实现它吗?

谢谢,埃尔维奥

Ben*_*Hao -1

您最好使用雾宝石将文件保存在外部云提供商(例如 S3)中。无论如何,Heroku 是一个只读文件系统,因此它们不允许您卷曲,必须少写入它。