У нас несколько ненадежный сервер баз данных по разным причинам, и, как следствие, иногда соединения с базами данных, используемые моим приложением, исчезают из-под него. Соединения - это соединения SQLAlchemy 0.6.5 с базой данных PostgreSQL в веб-среде Pylons 1.0.
Мне нужен какой-то способ поймать большинство из них без видимой пользователем ошибки; в идеале я бы проверил соединение на уровне пула, прежде чем вернуть его из двигателя. Я контролирую создание двигателя, так что я в порядке там.
Какой самый лучший (самый нелепый / самый чистый) способ сделать это? Я понимаю, что всегда будет возможность исчезнуть связь между проверкой и использованием, но это будет довольно редко в этой среде, и поэтому я не беспокоюсь.