502 Bad Gateway: nginx - Журнал: восходящее преждевременно закрытое соединение во время чтения ... [Django 2.1 | Gunicorn 19.7.1 | Google Cloud Platform] - PullRequest
0 голосов
/ 24 июня 2019

Я новичок в компании, у которой есть этот проект в 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 file * переменная DEBUG установлена ​​на False

Поиск ответов в Интернете Я нашел несколько случаев, но никто точно не похож на мой.

Локально я запускаю проект на Windows 7, поэтому ошибка возникает только при развертывании его в GCP.Поскольку я новичок в GCP и gunicorn, я был бы признателен за несколько советов по решению этой проблемы, которая застряла с 17 июня.

Заранее спасибо!

РЕДАКТИРОВАТЬ: После этихдни я прошел через множество форумов и добавил несколько новых конфигураций к своему app.yaml, пытаясь работать с потоками и рабочими, чтобы решить вопрос.

Строка точки входа выглядит следующим образом:

entrypoint: gunicorn -b :$PORT --worker-class=gevent --worker-connections=1000 --workers=3 mysite.wsgi --timeout 90

Этот проект заключается в поиске в базе данных Postgre в GCP сбора информации о свойствах и запуске AI для отображения некоторых прогнозов относительно его значений.

Я добавляю эту информацию, надеясь, что кто-то может дать совет в правильном направлении.

Я пробовал потоки и обработку, но даже с моими запросами приложение работает слишком медленно, дажерендеринг простой страницы занимает некоторое время.

Локальные тесты работают лучше, но в производстве они вообще не работают.

AI не был разработан для меня, и он использует большую работуfile.

В проекте не используются такие контейнеры, как Docker.Может быть, это может как-то помочь, если я «докеризирую» проект?

Еще раз спасибо.Это моя вторая неделя на этой работе, и ответственный разработчик уволился с работы за неделю до того, как я начну.Поэтому я нахожусь на пути проб и ошибок, чтобы понять проект и попытаться выяснить, что происходит.

1 Ответ

0 голосов
/ 12 июля 2019

Я перестал видеть эту ошибку, меняющую значение CONN_MAX_AGE на None, которое не определяет время соединения с базой данных. Однако это может вызвать некоторые проблемы с безопасностью, которые необходимо оценить перед развертыванием приложения. Если вы измените его, следите за обновлениями в облачных журналах Google в поисках странных попыток подключения.

...