我编写了一个脚本来从其他站点获取内容,并将其保存到我的public/
目录中。由于我的网络环境恶劣,我将其部署到Heroku
并希望它能够在本地进行,而不是在本地进行。
就像这样简单的
movie_file = "#{Rails.root}/public/movie_list#{year}.json"
File.open(movie_file, "w"){|f| f.write(JSON.pretty_generate($movie_list))}
然而,当我在heroku中运行它时(只有一个rake task
),它似乎无法写入public/
目录,我得到no such page error
。我找到了这个答案:Problems with public directory when deploying Node.js app with Heroku
但原始文章在heroku
中是不可能的,我不确定它是否仍然是真的。
我想知道:
如果有任何解决方法我可以将其保存到服务器(可能是public/
以外的其他内容),然后我可以将其下载到我的计算机上?
或者,不是将文件转换为public/
,也许我可以将其上传到其他可用空间?
======================
更新:
最后,我首先将文件保存到tmp
,然后将其保存到Qiniu
(中国对口AWS
),然后将其保存到AWS
答案 0 :(得分:2)
Heroku dyno上的存储应该被认为是短暂的,因为dyno重启将导致保存的文件消失,并且该文件将不会从其他dynos中看到。
您应该使用dyno将文件上传到永久存储,例如AWS,您可以通过浏览器下载它。