【问题标题】:error 204 in a Google App Engine API in javajava中的Google App Engine API中的错误204
【发布时间】:2015-07-12 06:57:22
【问题描述】:

我们有一个带有 Google App Engine 的 API。 API 包含在搜索引擎上,当用户请求 productID 时,API 返回一个带有一组其他 productID(具有特定条件)的 json。这是当前配置:

<instance-class>F4_1G</instance-class>
<automatic-scaling>
<min-idle-instances>3</min-idle-instances>
<max-idle-instances>automatic</max-idle-instances>
<min-pending-latency>automatic</min-pending-latency>
<max-pending-latency>automatic</max-pending-latency>    
</automatic-scaling>

我们使用 app_engine_release=1.9.23

该过程如下。我们有两个对数据存储的调用和一个对 urlfetch 的调用(对一个外部 API)。

问题在于我们不时收到带有此跟踪的错误 204:

ms=594 cpu_ms=0 exit_code=204 app_engine_release=1.9.23 处理此请求的进程遇到问题,导致它退出。这可能会导致一个新进程被用于对您的应用程序的下一个请求。 (错误代码 204)

这是我们在客户端中得到的:

{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": ""
}
],
"code": 503,
"message": ""
}
}

我们将常驻实例的数量从 3 个更改为 7 个,但出现了同样的错误。错误也发生在相同的情况下。我们在很短的时间内发现了 4 个错误。

我们发现问题出在 urlfecth 调用上。如果我们设置一个高超时,那么它会返回很多错误。

知道为什么会这样吗???

【问题讨论】:

  • 日志中显示了什么?
  • @jirungaray 日志显示:处理此请求的进程遇到问题,导致它退出。这可能会导致一个新进程被用于对您的应用程序的下一个请求。 (错误代码 204)

标签: java google-app-engine runtime-error internal-server-error server-error


【解决方案1】:

我相信我找到了问题所在。该问题与 urlfetch 调用有关。我做了很多测试,直到我找出问题所在。当我只调用数据存储时,一切都按预期工作。但是,当我添加 urlfetch 调用时,它会产生 204 错误。它总是发生,所以我相信这可能是一个错误。

我为消除该错误所做的就是从 Google 中删除云端端点并使用基本的 servlet。我发现将 servlet 与 urlfetch 调用混合使用不会出现错误,因此问题可能不仅与 urlfetch 有关,还与 urlfetch 和 Google 云端点的组合有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多