|
15 | 15 | from jupyter_client.kernelspec import KernelSpecManager
|
16 | 16 | from ..utils import url_path_join
|
17 | 17 |
|
18 |
| -from traitlets import Instance, Unicode, Float, Bool, default, validate, TraitError |
| 18 | +from traitlets import Instance, Unicode, Int, Float, Bool, default, validate, TraitError |
19 | 19 | from traitlets.config import SingletonConfigurable
|
20 | 20 |
|
21 | 21 |
|
@@ -220,6 +220,38 @@ def __init__(self, **kwargs):
|
220 | 220 | def _env_whitelist_default(self):
|
221 | 221 | return os.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 | + def gateway_retry_interval_default(self): |
| 233 | + return float(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 | + def gateway_retry_interval_max_default(self): |
| 243 | + return float(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 | + def gateway_retry_max_default(self): |
| 253 | + return int(os.environ.get('JUPYTER_GATEWAY_RETRY_MAX', self.gateway_retry_max_default_value)) |
| 254 | + |
223 | 255 | @property
|
224 | 256 | def gateway_enabled(self):
|
225 | 257 | return bool(self.url is not None and len(self.url) > 0)
|
|
0 commit comments