Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Python SQLAlchemy - serwer MySQL zniknął

Rozmawiano na ten temat, a ten dokument całkiem ładnie opisuje problem, więc zastosowałem zalecane przez nich podejście do obsługi takich błędów:http://discorporate.us/jek/talks/SQLAlchemy-EuroPython2010.pdf

Wygląda mniej więcej tak:

from sqlalchemy import create_engine, event
from sqlalchemy.exc import DisconnectionError


def 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:
            raise


db_engine = create_engine(DATABASE_CONNECTION_INFO,
                          pool_size=100,
                          pool_recycle=3600)
event.listen(db_engine, 'checkout', checkout_listener)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie pasków ukośnych po mysql_real_escape_string

  2. Jak połączyć się z MySQL za pomocą Node.js

  3. Wyniki autouzupełniania pól tekstowych na podstawie bazy danych SQL

  4. Minimalizowanie zapytań SQL przy użyciu sprzężenia z relacją jeden-do-wielu

  5. Maksymalna liczba jednoczesnych połączeń z MySQL