Закрытие соединений с БД после их повторного использования - PullRequest
0 голосов
/ 02 ноября 2018

это ситуация:

  1. У меня есть служба django, работающая в безсерверной среде (лямбда-версия AWS)

  2. Безсерверная среда создает образ докера из моей службы django

  3. Каждые несколько минут он запускает контейнер и выполняет все, что есть в моем сервисе
  4. Образ докера создается как снимок службы, означающий, что в образ также включены подключения к базе данных.
  5. Когда контейнер запускается и выполняет мой код - предыдущие подключения используются повторно, независимо от того, что они могут быть потеряны или повторно использованы другими службами.
  6. Я получаю ошибки интерфейса базы данных.
  7. Итак, что я делаю - каждый раз перед выполнением логики кода я закрываю все соединения (django воссоздает новые при необходимости)
  8. Поскольку это решает проблему для текущего сервиса - он полностью уничтожает другие сервисы, которые могли повторно использовать соединение (через так называемый пул соединений с базой данных)
  9. Когда моя служба django закрывает свои соединения - есть вероятность, что старое предыдущее соединение теперь повторно используется другой службой, а моя служба django просто уничтожает его.

Как мне убедиться, что моя служба django не прерывает соединение, а скорее возвращается в пул соединений и просто захватывает любое другое доступное соединение?

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