【问题标题】:Google Cloud Storage, reads/writes limitations谷歌云存储,读/写限制
【发布时间】:2017-06-05 14:47:02
【问题描述】:

我们有一个 AppEngine FLEXIBLE 应用程序,它将图像存储在 Cloud Storage 的存储桶中。 我们的应用程序应该读取每个选定的图像并将图像的几个裁剪部分保存到存储原始图像的同一个桶中。例如,我们可以说裁剪图像的 5 个部分,所以 5 个新图像将存储在桶中,并且这应该对许多图像进行。如果我们选择少量图像(2 到 5)和少量应对部分(2-3),该应用程序可以完美运行,但如果我们选择超过 10 张图像和许多裁剪部分,那么一段时间后我们会看到以下错误:

Failed to load resource: the server responded with a status of 502 ()

知道如何解决这个问题吗?

【问题讨论】:

  • 能否请您编辑应在 xml 文件中的会话超时信息(增加会话超时)。
  • @AbuSufian :我试图在 app.yaml 文件中添加健康检查超时,但没有任何结果。这不是因为会话超时。我认为在几秒钟内访问存储有一些限制!
  • 您是保存图像还是图像的裁剪部分,然后立即尝试再次读取它们? (也许是出于验证目的,它们是否正确保存?)另外,您是将这些图像保存在多个存储桶中,还是只是存储桶中的文件夹?
  • @KevinG :我只是裁剪图像的几个部分(用户可以选择多个图像和多个要裁剪的区域),然后将它们保存到不同文件夹中的一个特定存储桶中。举个例子:假设我们定义了 5 个区域,我们选择了 10 个图像,这些图像应用了哪些区域,那么应该保存到存储桶中的图像数量为:50
  • 非常有趣...我使用 GAE 灵活将 excel 文档保存到云存储,但一次只有一个。在星期一之前,我将循环我的代码以保存它 100 多次,看看我是否可以复制你的错误。我会让你知道它是怎么回事,我会发布一个代码 sn-p。

标签: java google-app-engine google-cloud-storage app-engine-flexible


【解决方案1】:

我可以通过在每个图像保存到存储后让线程休眠 5 秒来解决这个问题。我刚刚在“for”循环中添加了以下行来保存图像:

Thread.sleep(5000);

所以在这种情况下,过程会变长,但不会被 Cloud Storage 阻塞!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-24
    • 2021-05-06
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2020-09-10
    相关资源
    最近更新 更多