У меня есть проект 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, но все еще получаю ту же ошибку.
Я думаю, что что-то упустил,но я не знаю что.