2014-01-14 80 views
1

我正在使用sqlalchemy(以MySQL作爲數據庫)和cherrypy。我創建了一個應用程序範圍的引擎。我從SqlAlchemy Sessions Doc讀取會話不是線程安全的。這是否意味着我應該爲每個REST請求創建一個單獨的會話?如果是這樣,session是否使用sqlalchemy中的默認連接池(pool_size = 5,max_overflow = 10)?這是否意味着15(pool_size + max_overflow)併發請求可以在沒有問題的情況下處理?另外,單個連接池是否屬於sqlalchemy引擎或單個Session對象?SqlAlchemy中單獨的REST請求的單獨會話對象?

+0

此問題可能是相關的:http://stackoverflow.com/questions/6519546/scoped-sessionsession-maker-or-plain-session-maker-in-sqlalchemy – Soferio

回答

0

提供部分代碼會更好。但首先應該閱讀Official doc about Thread-local Sessions

據我所知,我們需要爲每個線程使用單獨的會話。當我試圖做我的第一個應用程序時,我沒有這樣做,有時我得到錯誤。 cherrpy有一個SQLA tool,你可以使用這個工具或爲自己寫更簡單。

+0

你應該添加鏈接的重要部分作爲你的答案。 – CSchulz