google-cloud-platform - 通过 ESPv2 : Problem with timeout 的谷歌云功能 + 端点

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

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

一个长时间运行的云函数出现了问题。如果请求运行超过大约。 30秒,终止。然后 API 返回 504 错误代码。

Cloud Run 日志显示以下条目:

The request has been terminated because it has reached the maximum request timeout. To change this limit, see https://cloud.google.com/run/docs/configuring/request-timeout

引用文档解释了如何配置 Cloud Run 服务超时。我已经有一个更高的超时:

spec:
  timeoutSeconds: 900

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

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

有没有可能我必须直接配置 Envoy 服务器?我该怎么做?我还缺少其他配置超时的东西吗?

最佳答案

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

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

关于google-cloud-platform - 通过 ESPv2 : Problem with timeout 的谷歌云功能 + 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61593582/

相关文章:

java - 如何在speech_event_type : END_OF_SINGLE_UTTERANCE Google Speech cloud Java之后连续发送请求

google-cloud-platform - Google Play转移频率错误-Google BigQuery

firebase - 您可以在 Firebase 云功能中调用 FFMPEG

java - 低负载下 App Engine 一致的延迟峰值

google-app-engine - 谷歌云端点 : Return type of api method

android - 使用 Android Studio 生成 Google Endpoints 库 (JDO)

google-cloud-platform - 列出按时间排序的 Google Cloud 资源

python - 如何在一个 flask 项目中设置两个 os.environ

python - Google Cloud Functions - 如何对 AWS S3 存储桶进行身份验证?

javascript - 如何返回模板/html 页面并 promise 该页面上的函数返回值