|
15 | 15 | fromjupyter_client.kernelspecimportKernelSpecManager |
16 | 16 | from ..utilsimporturl_path_join |
17 | 17 |
|
18 | | -fromtraitletsimportInstance,Unicode,Float,Bool,default,validate,TraitError |
| 18 | +fromtraitletsimportInstance,Unicode,Int,Float,Bool,default,validate,TraitError |
19 | 19 | fromtraitlets.configimportSingletonConfigurable |
20 | 20 |
|
21 | 21 |
|
22 | 22 | classGatewayClient(SingletonConfigurable): |
23 | 23 | """This class manages the configuration. It's its own singleton class so that we |
24 | 24 | can share these values across all objects. It also contains some helper methods |
25 | | -to build request arguments out of the various config options. |
| 25 | + to build request arguments out of the various config options. |
26 | 26 |
|
27 | 27 | """ |
28 | 28 |
|
@@ -220,6 +220,38 @@ def __init__(self, **kwargs): |
220 | 220 | def_env_whitelist_default(self): |
221 | 221 | returnos.environ.get(self.env_whitelist_env,self.env_whitelist_default_value) |
222 | 222 |
|
| 223 | +gateway_retry_interval_default_value=1.0 |
| 224 | +gateway_retry_interval_env='JUPYTER_GATEWAY_RETRY_INTERVAL' |
| 225 | +gateway_retry_interval=Float(default_value=gateway_retry_interval_default_value,config=True, |
| 226 | +help="""The time allowed for HTTP reconnection with the Gateway server for the first time. |
| 227 | + Next will be JUPYTER_GATEWAY_RETRY_INTERVAL multiplied by two in factor of numbers of retries |
| 228 | + but less than JUPYTER_GATEWAY_RETRY_INTERVAL_MAX. |
| 229 | + (JUPYTER_GATEWAY_RETRY_INTERVAL env var)""") |
| 230 | + |
| 231 | +@default('gateway_retry_interval') |
| 232 | +defgateway_retry_interval_default(self): |
| 233 | +returnfloat(os.environ.get('JUPYTER_GATEWAY_RETRY_INTERVAL',self.gateway_retry_interval_default_value)) |
| 234 | + |
| 235 | +gateway_retry_interval_max_default_value=30.0 |
| 236 | +gateway_retry_interval_max_env='JUPYTER_GATEWAY_RETRY_INTERVAL_MAX' |
| 237 | +gateway_retry_interval_max=Float(default_value=gateway_retry_interval_max_default_value,config=True, |
| 238 | +help="""The maximum time allowed for HTTP reconnection retry with the Gateway server. |
| 239 | + (JUPYTER_GATEWAY_RETRY_INTERVAL_MAX env var)""") |
| 240 | + |
| 241 | +@default('gateway_retry_interval_max') |
| 242 | +defgateway_retry_interval_max_default(self): |
| 243 | +returnfloat(os.environ.get('JUPYTER_GATEWAY_RETRY_INTERVAL_MAX',self.gateway_retry_interval_max_default_value)) |
| 244 | + |
| 245 | +gateway_retry_max_default_value=5 |
| 246 | +gateway_retry_max_env='JUPYTER_GATEWAY_RETRY_MAX' |
| 247 | +gateway_retry_max=Int(default_value=gateway_retry_max_default_value,config=True, |
| 248 | +help="""The maximum retries allowed for HTTP reconnection with the Gateway server. |
| 249 | + (JUPYTER_GATEWAY_RETRY_MAX env var)""") |
| 250 | + |
| 251 | +@default('gateway_retry_max') |
| 252 | +defgateway_retry_max_default(self): |
| 253 | +returnint(os.environ.get('JUPYTER_GATEWAY_RETRY_MAX',self.gateway_retry_max_default_value)) |
| 254 | + |
223 | 255 | @property |
224 | 256 | defgateway_enabled(self): |
225 | 257 | returnbool(self.urlisnotNoneandlen(self.url)>0) |
@@ -503,7 +535,6 @@ def shutdown_all(self, now=False): |
503 | 535 | self.remove_kernel(kernel_id) |
504 | 536 |
|
505 | 537 |
|
506 | | - |
507 | 538 | classGatewayKernelSpecManager(KernelSpecManager): |
508 | 539 |
|
509 | 540 | def__init__(self,**kwargs): |
|