1919from .constants import (
2020 DEFAULT_ENDPOINT ,
2121 DEFAULT_REGION ,
22+ DEFAULT_REUSE_SESSION ,
2223 DEFAULT_RUNTIME ,
2324 DEFAULT_READ_TIMEOUT_SECONDS ,
2425 DEFAULT_SESSION_WAIT_TIMEOUT_SECONDS ,
@@ -62,6 +63,7 @@ def connect(
6263 region : Region = None ,
6364 wait_timeout : float = DEFAULT_SESSION_WAIT_TIMEOUT_SECONDS ,
6465 read_timeout : float = DEFAULT_READ_TIMEOUT_SECONDS ,
66+ reuse_session : bool = DEFAULT_REUSE_SESSION ,
6567 shutdown_after_inactive_seconds : Union [int , None ] = None ,
6668 results_format : Union [ResultsFormat , None ] = None ,
6769 data_compression : Union [DataCompression , None ] = None ,
@@ -83,8 +85,8 @@ def connect(
8385 region = region or DEFAULT_REGION
8486
8587 logging .info (
86- "Requesting %s/ %s runtime in %s from %s ..." ,
87- runtime . name ,
88+ "%s %s runtime in %s from %s ..." ,
89+ "Recycling" if reuse_session else "Requesting" ,
8890 runtime .value ,
8991 region .value ,
9092 host ,
@@ -97,7 +99,7 @@ def connect(
9799 try :
98100 resp = requests .post (
99101 url = f"{ host } /sql/session" ,
100- params = {"region" : region .value },
102+ params = {"region" : region .value , "reuse_session" : reuse_session },
101103 json = {
102104 "runtimeId" : runtime .value ,
103105 "shutdownAfterInactiveSeconds" : shutdown_after_inactive_seconds ,
0 commit comments