were tutorial quick query one not multiple guide found for español create python sqlalchemy pylons

python - tutorial - ¿Cómo puedo verificar las conexiones agrupadas en SQLAlchemy antes de entregarlas a mi código de aplicación?



sqlalchemy relationship not null (1)

Tenemos un servidor de base de datos poco confiable, por diversas razones, y como consecuencia, a veces las conexiones de la base de datos utilizadas por mi aplicación se desvanecen. Las conexiones son SQLAlchemy 0.6.5 conexiones a un PostgreSQL db en un Pylons 1.0 web runtime.

Lo que quiero es una forma de detectar la mayoría de estos sin un error visible por el usuario; idealmente, probaría la conexión en el nivel de la piscina antes de devolverla desde el motor. Yo controlo la creación del motor, así que estoy bien allí.

¿Cuál es la mejor (más idónea / limpia) forma de lograr esto? Me doy cuenta de que siempre habrá la posibilidad de que la conexión muera entre el cheque y el uso, pero eso será bastante raro en este entorno y, por lo tanto, no me concierne.


Puede usar un oyente de grupo:

class ConnectionChecker(sqlalchemy.interfaces.PoolListener): def checkout(self, dbapi_con, con_record, con_proxy): if not is_valid_connection(dbapi_con): # a new connection will be used raise sqlalchemy.exc.DisconnectionError

Lo que queda para usted es cómo implementar is_valid_connection para su caso de uso.