【发布时间】:2014-12-31 19:26:33
【问题描述】:
我的 heroku 网络应用程序具有从 S3 下载图像的功能。它的工作原理是这样的:
- 有一个端点 (A) 请求下载一组图像,它返回一个任务 ID。
- 这些图像由 A 下载到我的应用程序的
tmpHeroku 文件夹中。下载完所有图片后,会创建一个 zip 文件。 - 虽然仍然可以下载图像,但 Web 客户端使用第 1 点的任务 ID 调用另一个端点 (B)。第二个端点检查已经下载了多少图像以返回进度百分比。当 zip 已创建时,它会“返回”该 zip 文件并下载图像。
这种方法在 Heroku 中使用 1 dyno 效果很好。不幸的是,在扩展到 2 个 dynos 之后,我们意识到它不再起作用了。原因是 Heroku 中的 dyno 不共享同一个文件系统,端点 A 和 B 由不同的 dyno 管理。因此,端点 B 中的测功机没有找到任何文件。
有没有一种简单的方法可以让我的方法适用于多个测功机?
如果没有,我应该如何实现所描述的功能? (以 zip 文件从 S3 下载多个图像)
【问题讨论】: