【发布时间】:2018-08-14 02:20:48
【问题描述】:
我的应用程序(py3,应用程序引擎 flexi)接收 Web 请求 > 运行 BQ 查询 > 获取数据 > 处理数据(不是很占用 CPU!) > 返回响应。
请求可以被调用
- 直接在浏览器中尝试网址
- 或通过 cron 作业调用 URL 作业
由于 BQ 查询的性质:
- 我确定处理该请求需要 >30 秒(大约 2-5 分钟)
- 我不关心并发请求的数量,只有少数请求会同时进来 (
我遇到了 [CRITICAL] WORKER TIMEOUT (pid:7) 错误,我相信通过调整 gunicorn.conf.py 中的 timeout 设置可以解决该错误。但是 nginx 继续返回 502 error 作为响应(并且 cron 作业状态以失败结束)
有人可以分享为什么我继续收到 502 错误以及我应该调整哪个参数(在 app.yaml 或我的应用程序 PY 代码中)来管理这个超时?以及如何处理您肯定需要 2-5 分钟(甚至更长时间!)的此类请求的最佳实践
另外,我正在考虑创建 Cloud Function 端点,因为 CF 支持 PY(并且支持 higher timeouts as high as 9 minutes..)
【问题讨论】:
标签: python-3.x google-app-engine