@@ -18,21 +18,26 @@ def db_engine(self, conn_str):
1818 see https://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
1919 """
2020
21- db_pool_size = os .environ .get ('POOL_SIZE' , 5 )
22- db_max_overflow = os .environ .get ('MAX_OVERFLOW' , 10 )
23- db_pool_timeout = os .environ .get ('POOL_TIMEOUT' , 30 )
24- db_pool_recycle = os .environ .get ('POOL_RECYCLE' , - 1 )
21+ db_enable_pooling = os .environ .get ('ENABLE_POOLING' , 'False' ).lower () in ('t' , 'true' )
22+ db_pool_size = int (os .environ .get ('POOL_SIZE' , 5 ))
23+ db_max_overflow = int (os .environ .get ('MAX_OVERFLOW' , 10 ))
24+ db_pool_timeout = int (os .environ .get ('POOL_TIMEOUT' , 30 ))
25+ db_pool_recycle = int (os .environ .get ('POOL_RECYCLE' , - 1 ))
2526
2627 engine = self .engines .get (conn_str )
2728 if not engine :
28- engine = create_engine (
29- conn_str ,
30- poolclass = QueuePool ,
31- pool_size = db_pool_size ,
32- max_overflow = db_max_overflow ,
33- pool_timeout = db_pool_timeout ,
34- pool_recycle = db_pool_recycle ,
35- pool_pre_ping = True , echo = False )
29+ if db_enable_pooling :
30+ engine = create_engine (
31+ conn_str ,
32+ poolclass = QueuePool ,
33+ pool_size = db_pool_size ,
34+ max_overflow = db_max_overflow ,
35+ pool_timeout = db_pool_timeout ,
36+ pool_recycle = db_pool_recycle ,
37+ pool_pre_ping = True , echo = False )
38+ else :
39+ engine = create_engine (
40+ conn_str , pool_pre_ping = True , echo = False )
3641 self .engines [conn_str ] = engine
3742 return engine
3843
0 commit comments