Запрос времени ожидания для докернизированного приложения django, развернутого с Heroku - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть проект django, который отлично работает локально, и Dockerfile, который правильно создает образ Docker для моего приложения django.Это изображение хорошо разворачивается на Heroku и корректно открывает страницу входа на страницу администратора.Если я введу неверные учетные данные, приложение быстро выдаст ошибку неверных учетных данных.Однако, если я введу правильные учетные данные, приложение продолжит работать до истечения времени ожидания Heroku (30 секунд, которые нельзя изменить).

Я использую надстройку Postgres и полагаю, что она правильно настроена(а также settings.py) из-за указанной выше ошибки учетных данных (когда я пытаюсь войти в систему с неверным пользователем).

Ошибка, возникающая в журналах при превышении времени ожидания запроса:

File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 
618, in send
2018-12-20T17:20:56.027703+00:00 app[web.1]:     r = 
adapter.send(request, **kwargs)
2018-12-20T17:20:56.027704+00:00 app[web.1]:   File 
"/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 508, 
in send
2018-12-20T17:20:56.027705+00:00 app[web.1]:     raise ConnectionError(e, 
request=request)
2018-12-20T17:20:56.027707+00:00 app[web.1]: 
requests.exceptions.ConnectionError: HTTPConnectionPool(host='10.5.0.1', 
port=8000): Max retries exceeded with url: /authentication/login/ (Caused 
by NewConnectionError('<urllib3.connection.HTTPConnection object at 
0x7f0cdf24e5c0>: Failed to establish a new connection: [Errno 110] 
Operation timed out'))
2018-12-20T17:20:56.333701+00:00 app[web.1]: [20/Dec/2018 17:20:56] "POST 
/admin/login/?next=/admin/ HTTP/1.1" 500 281813
Disconnected from log stream. There may be events happening that you do 
not see here! Attempting to reconnect...
2018-12-20T17:20:56.027696+00:00 app[web.1]:   File 
"/usr/local/lib/python3.7/site-packages/requests/api.py", line 58, in 
request
2018-12-20T17:20:56.027697+00:00 app[web.1]:     return 
session.request(method=method, url=url, **kwargs)
2018-12-20T17:20:56.027699+00:00 app[web.1]:   File 
"/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 508, 
in request
2018-12-20T17:20:56.027700+00:00 app[web.1]:     resp = self.send(prep, 
**send_kwargs)
2018-12-20T17:20:56.027701+00:00 app[web.1]:   File 
"/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 618, 
in send
2018-12-20T17:20:56.027703+00:00 app[web.1]:     r = 
adapter.send(request, **kwargs)
2018-12-20T17:20:56.027704+00:00 app[web.1]:   File 
"/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 508, 
in send
2018-12-20T17:20:56.027705+00:00 app[web.1]:     raise ConnectionError(e, 
request=request)
2018-12-20T17:20:56.027707+00:00 app[web.1]: 
requests.exceptions.ConnectionError: HTTPConnectionPool(host='10.5.0.1', 
port=8000): Max retries exceeded with url: /authentication/login/ (Caused 
by NewConnectionError('<urllib3.connection.HTTPConnection object at 
0x7f0cdf24e5c0>: Failed to establish a new connection: [Errno 110] 
Operation timed out'))
2018-12-20T17:20:56.333701+00:00 app[web.1]: [20/Dec/2018 17:20:56] "POST 
/admin/login/?next=/admin/ HTTP/1.1" 500 281813

Вы можете увидеть его завершенным здесь

Я запускаю процесс в Heroku с этой строки в моем Dockerfile:

CMD ["sh", "-c "," python3 manage.py runserver 0.0.0.0:$PORT"]

Я также пробовал gunicorn, но все еще получаю ту же ошибку.

Я думаю, что что-то упустил,но я не знаю что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...