File tree 1 file changed +6
-2
lines changed
1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change 11
11
from dataall .base .db import Base
12
12
from dataall .base .db .dbconfig import DbConfig
13
13
from dataall .base .utils import Parameter
14
- from dataall .base .aws .sts import SessionHelper
15
14
16
15
try :
17
16
from urllib import quote_plus , unquote_plus
@@ -41,6 +40,7 @@ def __init__(self, dbconfig: DbConfig):
41
40
42
41
self .sessions = {}
43
42
self ._session = None
43
+ self ._active_sessions = 0
44
44
45
45
def session (self ):
46
46
if self ._session is None :
@@ -52,13 +52,17 @@ def session(self):
52
52
def scoped_session (self ):
53
53
s = self .session ()
54
54
try :
55
+ self ._active_sessions += 1
55
56
yield s
56
57
s .commit ()
57
58
except Exception as e :
58
59
s .rollback ()
59
60
raise e
60
61
finally :
61
- s .close ()
62
+ self ._active_sessions -= 1
63
+ if self ._active_sessions == 0 :
64
+ s .close ()
65
+ self ._session = None
62
66
63
67
def dispose (self ):
64
68
self .engine .dispose ()
You can’t perform that action at this time.
0 commit comments