对此进行了讨论,该文档很好地描述了该问题,因此我使用了他们推荐的方法来处理此类错误:http : //discorporate.us/jek/talks/SQLAlchemy-
EuroPython2010.pdf
看起来像这样:
from sqlalchemy import create_engine, eventfrom sqlalchemy.exc import DisconnectionErrordef checkout_listener(dbapi_con, con_record, con_proxy): try: try: dbapi_con.ping(False) except TypeError: dbapi_con.ping() except dbapi_con.OperationalError as exc: if exc.args[0] in (2006, 2013, 2014, 2045, 2055): raise DisconnectionError() else: raisedb_engine = create_engine(DATAbase_CONNECTION_INFO, pool_size=100, pool_recycle=3600)event.listen(db_engine, 'checkout', checkout_listener)



