Я запускаю веб-приложение, используя Django и Django Rest Framework на Heroku с хранилищем данных postgresql и redis. Я нахожусь на бесплатном уровне postgresql, который ограничен 20 подключениями.
Раньше с этим не было проблем, но недавно я начал использовать каналы django 2.0 и сервер daphne (переключил мой Procfile с gunicorn на daphne, например это руководство), и теперь я столкнулся со всевозможными странными проблемами.
Наиболее важным является то, что соединения с базой данных остаются открытыми, поэтому во время работы приложения количество соединений продолжает увеличиваться, пока не достигнет 20, и выдает следующее сообщение об ошибке: Операционная ошибка — «FATAL слишком много соединений для роли «username» '
Затем мне приходится вручную заходить в оболочку и каждый раз набирать
heroku pg:killall
, это, очевидно, невыполнимое решение, и это производство, поэтому мои пользователи не могут получить доступ к сайту и получить 500 ошибок. Был бы очень признателен за любую помощь.
Я пытался:
Добавление этого к моим разным взглядам в разных местах
from django.db import connections
conections.close_all()
for con in connections:
con.close()
Я также пытался сделать SELECT * from pg_activity
и видел кучу вещей, но понятия не имею, что с этим делать: