【问题标题】:Google Cloud Functions + Endpoints via ESPv2: Problem with timeoutGoogle Cloud Functions + Endpoints via ESPv2:超时问题
【发布时间】:2020-08-18 23:01:16
【问题描述】:

我有各种可通过 Google Endpoints for Cloud Functions 访问的云功能。我或多或少地遵循了本指南:https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions。这会在 Google Cloud Run 中设置一个 ESPv2 实例。到目前为止,它正在工作。

一项长期运行的云功能会出现问题。如果请求运行超过约。 30秒,结束。然后 API 返回 504 错误代码。

Cloud Run 日志显示以下条目:

请求已被终止,因为它已达到最大请求超时。要更改此限制,请参阅https://cloud.google.com/run/docs/configuring/request-timeout

参考文档说明了如何配置 Cloud Run 服务超时。在那里我已经有了更高的超时时间:

spec:
  timeoutSeconds: 900

函数本身完成没有错误。所以我想问题一定出在 Endpoints 或 Cloud Run 上。

Troubleshooting responses documentation 没有帮助。首先,我认为它仅适用于 ESPv1(我无法为 v2 明确找到类似的东西)并且它根本没有提到 504 响应。

是否可以直接配置 Envoy 服务器?我该怎么做?我还缺少其他什么来配置超时吗?

【问题讨论】:

    标签: google-cloud-platform google-cloud-functions google-cloud-endpoints google-cloud-run google-cloud-endpoints-v2


    【解决方案1】:

    我认为这在 Cloud Run 上不是问题(最大超时时间是 900 秒而不是 300(Cloud Run 上的默认值,PubSub 的最大值是 600))。

    所以 Cloud Endpoint 有一个超时。但它记录在 15 秒,而不是 30 秒,奇怪......所以你可以用 the deadline parameter on your x-google-backend definition 覆盖它

    【讨论】:

    • 就是这样,谢谢!我没有准确测量 30 秒。它与配置的值相去甚远,以至于我确信还有其他东西。很抱歉让您感到不快。
    猜你喜欢
    • 1970-01-01
    • 2019-12-31
    • 2017-11-29
    • 1970-01-01
    • 2018-07-06
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多