-1

我需要在 heroku 上托管一个测试应用程序。它使用 SoX 拆分文件并存储拆分文件(仅临时)。

在这种情况下使用ruby​​s Dir.mktmpdir会起作用吗?

还是我必须使用#{RAILS_ROOT}/tmp/myfile_#{Process.pid}

这适用于 SoX 吗?

非常感谢任何帮助

4

1 回答 1

1

Heroku 具有只读文件系统,或者更准确地说,是临时可写文件系统。这意味着您可以在运行时对实际实例做很少的事情。要了解有关限制的更多信息,请访问Heroku 文档

我认为你有2个选择...

  • 在某个地方租用另一个 VPS 或 EC2 并在那里进行 SoX 操作。在 S3 或类似的东西中操作存储文件之前和之后。这样您就可以在其他服务器上进行操作,但仍将您的应用程序托管在 Heroku 上。
  • 尝试使用自定义 buildpuck构建您自己的 Heroku 实例,并将 S3 挂载为远程驱动器。然后你可以写实例;但仍然是个坏主意,因为您可能正在做一些激烈的 IO 事情。

还要记住,Heroku 也有 3rd 方插件,其中之一是Zencoder,witch 提供各种格式的转码,你也可以看看。

于 2013-03-13T08:55:24.953 回答