Google App引擎,F2实例30秒后请求超时

时间:2019-07-04 12:51:02

标签: google-app-engine request-timed-out

我已将Django应用与Google App Engine一起部署。该应用程序包含API;每个API中都有数千条记录的计算结果。简而言之,我有一些API会花费60秒钟以上的时间,并且出现502错误。我该如何解决? Google App Engine的B1或B2实例是否可以解决我的问题?请指导我,谢谢

2 个答案:

答案 0 :(得分:1)

我一直遇到类似的问题,日志告诉我该工人正在超时。

enter image description here

默认Gunicorn worker timeout为30秒。我的应用正在执行一些耗时超过30秒的API请求,所以这就是我超时的原因。如果您也认为这也是问题所在,可以通过调整app.yaml文件中的entrypoint行来解决:

runtime: python37
entrypoint: gunicorn -b :$PORT example.wsgi --log-level=DEBUG --timeout=30
service: default

答案 1 :(得分:0)

对于您的具体情况,我可以看到3种可能的解决方案:

  • 解决问题的最简单方法是切换到{1}手动类型和基本缩放类型的B1或B2实例,这两种实例都可以使请求最多运行24小时。
  • 如果出于某些原因要坚持使用F2实例,则可以选择在support上创建任务,这将允许您异步运行请求。
  • 您还可以切换到GAE Flexible,这将为您提供60分钟的最大请求超时时间,如task queue文档中所述。