1

当我从相机将图像(在 Amazon S3 服务器上)上传到 Heroku 应用程序时,其中的照片假设超过 2.5MB,有时应用程序未在 30 秒内处理,我在屏幕上看到有关应用程序的警告消息错误

这不是很人性化的行为,如何避免这种行为?我现在可以购买额外的测功机,但我不确定这是一个解决方案。对于文件上传,我使用 Paperclip gem。

当用户上传大于 3MB 的图像时,您如何解决这种情况?

4

1 回答 1

0

您可以做几件事:(按从最好到最差的顺序排列)

  1. 如果您需要对图像进行大量后期处理(例如调整大小),您可以使用“延迟作业”在工作人员测功机上完成所有这些处理。通过这种方式,您可以更快地获得响应,但您的替代或调整大小的图像版本不会立即可用,只有:original. 这里有一个教程:http: //madeofcode.com/posts/42-paperclip-s3-delayed-job-in-rails

  2. 你可以使用独角兽或它的表亲之一。虽然它本身可能无法解决图像上传问题,但它允许您调整请求超时所需的时间。作为一个额外的好处,它还应该加速你的应用程序的其余部分。

  3. 您可以尝试将Carrier WaveCarrierWaveDirect一起使用,而不是回形针。这有点像在黑暗中拍摄,因为我从未亲自使用过它,但它应该“更好”,这可能意味着更快?也许?听起来它的工作方式与带有延迟作业的回形针类似。

于 2013-07-24T19:18:54.490 回答