2012-06-05 20 views

回答

2

金字塔與它無關。全局需要處理WSGI服務器用於爲應用程序提供服務的任何機制。例如,大多數服務器爲每個請求使用一個單獨的線程,因此您的全局變量需要是線程安全的。 gunicorn和gevent是使用greenlet服務的,這是一種不同的機制。

許多引擎/ orm支持threadlocal連接。這將允許您像連接全局變量一樣訪問連接,但它是每個線程中的一個不同變量。您只需確保在請求完成時關閉連接,以避免連接溢出到同一線程中的下一個請求中。這可以使用Pyramid tween或食譜中說明的其他幾種模式輕鬆完成。