需要知道如何使用heroku的Ephemeral文件系统并将文件写入/ tmp文件夹

时间:2013-05-06 01:36:07

标签: heroku python-2.7

我是heroku的新手。我已将我的应用程序部署到heroku,其中有时钟运行的python脚本 在那个脚本中,我需要使用/ tmp文件夹中的heroku的Ephemeral文件系统写入xml文件,我需要该文件的url,这样我就可以使用这个url做一些其他从这个文件中读取数据的处理。

1 个答案:

答案 0 :(得分:2)

在Heroku上,您无法在/tmp公开访问文件。通过http访问该文件内容的唯一方法是将该文件传输到其他地方,例如Amazon S3,或scp将其传输到其他服务器。

考虑一下:假设您有10个dynos正在运行,并且有人发出请求导致在newFile中创建新文件/tmp。嗯,只有/tmp只在你的一个dynos上。如果下一个请求负载均衡器将您定向到另一个dyno,则该文件不存在。而且,你刚刚创建的newFile的dyno可能在5秒后甚至不存在! Heroku一直在上下旋转dynos。

HTTP是Stateless Protocol。如果你要正确地设计你的系统,你应该这样对待它。