【问题标题】:Are files uploaded to heroku immediately deleted?上传到heroku的文件会立即删除吗?
【发布时间】:2015-08-20 18:47:48
【问题描述】:

我到处都看到 heroku 在部署或扩展应用程序后会删除您对文件系统所做的更改,但在我的情况下,文件似乎会立即消失。

我的 rails 应用程序将文件上传到 public/uploads,然后延迟的作业尝试读取这些文件,当它尝试读取它们时找不到它们。

如果我在同一个线程中执行所有操作,它可以工作,但是当我尝试使用延迟作业或使用 heroku run bash 检查文件系统时,文件消失了。

为什么会这样?

【问题讨论】:

  • 如果我没记错的话,上传到 heroku 的文件甚至不会在 heroku 服务器上创建。就像你把它们送到了一个沉洞。 :-D
  • 我是这么认为的,但如果是这样的话,它在单线程版本中是如何工作的?我的代码正在执行 File.open("public/uploads/file","r") 并且在那种情况下工作得很好。
  • 我猜他们会在每次请求终止后删除文件
  • 啊!这是你的答案....显然它们在重新启动、重新部署、服务器从睡眠中唤醒等后被删除,等等stackoverflow.com/questions/11246736/…
  • 看看:stackoverflow.com/questions/30408123/…。请注意,DelayedJob 也在其自己的测功机中运行。

标签: ruby-on-rails heroku


【解决方案1】:

heroku 是一个只读文件系统。所以实际上你甚至不写文件,而只是在一个线程中将它们保存在内存中。

如果你想使用一些免费的存储系统,我推荐谷歌驱动器。您需要对如何使用它进行一些搜索,因为不久前他们更改了仅使用 Oauth 的登录策略,不再使用密码/用户名登录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-09
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多