如何防止GAE引发错误502?

时间:2019-12-19 19:18:45

标签: google-app-engine yaml app.yaml

对于我来说,这是由于我的应用程序花费很长时间发送响应而导致的错误。我只想知道应该将哪些参数添加到我的Notes ----- .. versionadded:: 1.4.0 This functionality can be obtained via `diag_indices`, but internally this version uses a much faster implementation that never constructs the indices and uses simple slicing. 文件中,以使app.yaml从30秒变为120秒左右。
我的deadline代码

app.yaml

1 个答案:

答案 0 :(得分:0)

根据官方文档,App Engine Standard已针对具有短暂请求(几百毫秒)的应用进行了优化。

但是,请求最多可能需要60秒才能响应。在这段时间之后,请求处理程序将被中断。

How Requests are Handled

  

无法与App Engine一起很好地扩展的应用   基础设施。

我建议使用Google Stackdriver Trace查找您的应用程序请求执行时间大于60秒的原因。

编辑

提供的答案适用于Google App Engine标准。我注意到您正在使用Google App Engine Flex。 60秒的限制不适用于Google App Engine Flex,因为

  

应用程序实例在Compute Engine上的Docker容器中运行   虚拟机(VM)。

建议将App Engine Flex用于:

  

接收一致流量的应用程序,会定期遇到   流量波动,或符合放大和缩小参数   

Choosing an App Engine environment

30秒错误超时可能是gunicorn服务器超时。

更改您的app.yaml,添加-t 120(超时120秒):

      runtime: python
      env: flex 
      entrypoint: gunicorn -t 120 -b :$PORT main:app

在这里您可以找到一个相关的SO问题link