@@ -18,21 +18,26 @@ def db_engine(self, conn_str):
18
18
see https://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
19
19
"""
20
20
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 ))
25
26
26
27
engine = self .engines .get (conn_str )
27
28
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 )
36
41
self .engines [conn_str ] = engine
37
42
return engine
38
43
0 commit comments