Получение «ConnectionResetError 10054» при работе Flask с Gunicorn - PullRequest
0 голосов
/ 08 января 2020

У меня есть Flask RESTful API, обслуживающий Gunicorn. Когда я запускаю его напрямую, используя Flask, я получаю правильный ответ от сервера, но когда я запускаю его, используя Gunicorn, постоянно сталкиваюсь с этим сообщением об ошибке.

  File "C:\Python37\lib\ssl.py", line 929, in read
    return self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Admin/nqetesla2/Services/Webservices/Testing/new_test.py", line 97, in <module>
    run()
  File "C:/Users/Admin/nqetesla2/Services/Webservices/Testing/new_test.py", line 90, in run
    response = requests.request("POST", url, headers=headers, data = payload,verify=False)
  File "C:\Python37\lib\site-packages\requests\api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Python37\lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python37\lib\site-packages\requests\sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "C:\Python37\lib\site-packages\requests\adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

И когда я использую тот же сервер с Gunicorn и попадание в API с Почтальоном, я получаю правильный ответ каждый раз. Так что это сбивает с толку, почему он ведет себя так с Гуникорном. Есть ли в Gunicorn какие-либо настройки, которые нужно отрегулировать. Используемый конфигурационный файл Gunicorn:

import os
from gunicorn import glogging
import base64
bind='0.0.0.0:443'

workers = 1
worker_class = 'sync'
worker_connections = 1000
timeout = 30
keepalive = 2

Версия Gunicorn на сервере: 19.9.0 Версия запросов, используемая локально: 2.22.0 Python: 3.7.4

...