3

我已经使用 Google App Engine 部署了我的 Django 应用程序。该应用程序包含 API;在每个 API 中都有数千条记录的计算。简而言之,我有一些 API 需要超过 60 秒,并且出现 502 错误。我该如何解决?谷歌应用引擎的 B1 或 B2 实例能否解决我的问题?请指导我,谢谢

4

2 回答 2

3

我遇到了类似的问题,日志告诉我工作人员正在超时。

在此处输入图像描述

默认Gunicorn 工作程序超时为 30 秒。我的应用程序正在执行一些耗时超过 30 秒的 API 请求,这就是我遇到超时的原因。如果您认为这也是您的问题,您可以通过调整entrypointapp.yaml 文件中的行来解决它:

runtime: python37
entrypoint: gunicorn -b :$PORT example.wsgi --log-level=DEBUG --timeout=30
service: default
于 2020-06-09T23:21:36.727 回答
1

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

  • 解决您的问题的最简单方法是切换到支持手动和基本扩展类型的 B1 或 B2 实例,两者都可以让请求运行长达 24 小时。
  • 如果出于某种原因您想坚持使用 F2 实例,您可以选择在任务队列上创建任务,这将允许您异步运行请求。
  • 您也可以切换到 GAE Flexible,这将为您提供 60 分钟的最大请求超时,如文档中所述。
于 2019-07-05T13:31:44.783 回答