Heroku的DYNOS不共享文件系统(Heroku dynos not sharing the f

2019-10-21 05:59发布

我的Heroku的Web应用程序有一个特点,从S3下载图像。 它的工作原理是这样的:

  1. 有一个端点(A)以请求下载图像的阵列,它返回一个任务ID。
  2. 这些图像通过下载到tmp我的应用程序的Heroku文件夹中。 而当所有的图像下载,创建一个zip文件。
  3. 虽然图像仍然可以下载,Web客户端调用另一个端点(B)是从点1。这第二个端点检查多少图像已经下载到返回进度百分比的任务ID。 当拉链已经创造了它“返回”的zip文件和图像下载。

这种方法在Heroku的工作罚款1个DYNO。 不幸的是,扩展到2个DYNOS后,我们已经意识到,它不工作了。 究其原因,Heroku的是DYNOS不共享相同的文件系统和端点A和B是由不同DYNOS管理。 因此,在端点B的赛道没有找到任何文件。

有一个简单的方法,使我的工作方式与多个DYNOS?

如果不是这样,我应该如何实现所描述的功能? (zip文件中下载从S3多个图像)

Answer 1:

您可以创建一个第二S3水桶,一旦完成下载的zip文件推到第二S3存储。 然后,您可以重定向客户端直接从S3下载的zip文件。

然后设置一个进程定期运行清理在S3存储桶东西了。



Answer 2:

我认为解决的办法是在这里,可以帮助http://technomile.github.io/wordpress/setup.html



文章来源: Heroku dynos not sharing the file system