我是一家新公司,该公司在Google Cloud PLatform上拥有此项目,我从未使用过。在第一天,我遇到了502 Bad Gateway错误。在Google Cloud Platform上的日志中查找以下信息:
[error] 33#33: *285 upstream prematurely closed connection while reading response header from upstream, client: 172.217.172.212, server: , request: "POST /product/fast_appraisal/result/ HTTP/1.1", upstream: "http://172.17.0.1:8080/product/fast_appraisal/result/", host: "avalieidjango.appspot.com", referrer: "https://avalieidjango.appspot.com/product/fast_appraisal/search/"
我试图编辑app.yaml
,并在其中添加了--timeout
和--graceful-timeout
参数,如下所示:
# [START runtime]
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT mysite.wsgi --timeout=90 --graceful-timeout=10
beta_settings:
cloud_sql_instances: avalieidjango:southamerica-east1:avaliei
runtime_config:
python_version: 3
handlers:
- url: /.*
script: manage.py
secure: always
redirect_http_response_code: 301
# [END runtime]
在settings.py
文件DEBUG
中将变量设置为False
在互联网上寻找答案,我发现了一些案例,但没有人看起来完全像我的。
我在Windows 7上本地运行该项目,因此仅在将其部署到GCP时才会发生该错误。由于我是GCP和Gunicorn的新手,所以我希望能提供一些建议以解决自6月17日以来我一直遇到的问题。
谢谢!
编辑:
这些天之后,我经历了很多论坛,并为我的app.yaml
添加了一些新配置,以尝试与线程和工作人员一起解决该问题。
入口点行如下所示:
entrypoint: gunicorn -b :$PORT --worker-class=gevent --worker-connections=1000 --workers=3 mysite.wsgi --timeout 90
该项目包括在GCP上搜索Postgre数据库,收集有关属性的信息并运行AI以显示有关其值的一些预测。
我正在添加此信息,希望有人可以向正确的方向提供建议。
我已经尝试了线程和进程,但是即使只是我的请求,应用程序仍然太慢,即使是一个简单的页面也需要一些时间来呈现。
本地测试运行得更好,但是在生产环境中根本无法正常工作。
不是为我开发的AI,而是使用了一个很大的joblib文件。
该项目不使用Docker之类的容器。如果我对项目进行“ dockerize”,也许会有所帮助?
再次感谢。这是我第二周从事这项工作,负责的开发人员在我开始一周前辞掉了工作。所以我在这个反复试验的道路上,以了解项目并尝试弄清发生了什么。
答案 0 :(得分:0)
我不再看到此错误将CONN_MAX_AGE
的值更改为None
,这使数据库连接时间不确定。但是,这可能会导致一些安全问题,必须在部署应用程序之前对其进行评估。如果您进行了更改,请继续关注Google Cloud Logs,以寻找奇怪的连接尝试。