天天看點

SqlAlchemy “Too many connections”

1、在使用 create_engine建立引擎時,如果預設不指定連接配接池設定的話,一般情況下,SQLAlchemy會使用一個 QueuePool綁定在新建立的引擎上。并附上合适的連接配接池參數。

2、在這種情況下,當你使用了session後就算顯式地調用session.close(),也不能把連接配接關閉。連接配接會由QueuePool連接配接池進行管理并複用。

3、如果想禁用SQLAlchemy提供的資料庫連接配接池,隻需要在調用create_engine是指定連接配接池為NullPool,SQLAlchemy就會在執行session.close()後立刻斷開資料庫連接配接。當然,如果session對象被析構但是沒有被調用session.close(),則資料庫連接配接不會被斷開,直到程式終止。