Skip to content

Commit be063c2

Browse files
authored
Add timeout for kernels push (#699)
1 parent 81f7c5e commit be063c2

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

kaggle/api/kaggle_api_extended.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2369,7 +2369,7 @@ def kernels_initialize_cli(self, folder=None):
23692369
meta_file = self.kernels_initialize(folder)
23702370
print('Kernel metadata template written to: ' + meta_file)
23712371

2372-
def kernels_push(self, folder):
2372+
def kernels_push(self, folder, timeout):
23732373
""" Read the metadata file and kernel files from a notebook, validate
23742374
both, and use the Kernel API to push to Kaggle if all is valid.
23752375
Parameters
@@ -2487,16 +2487,18 @@ def kernels_push(self, folder):
24872487
request.model_data_sources = model_sources
24882488
request.category_ids = self.get_or_default(meta_data, 'keywords', [])
24892489
request.docker_image_pinning_type = docker_pinning_type
2490+
if timeout:
2491+
request.session_timeout_seconds = int(timeout)
24902492
return kaggle.kernels.kernels_api_client.save_kernel(request)
24912493

2492-
def kernels_push_cli(self, folder):
2494+
def kernels_push_cli(self, folder, timeout):
24932495
""" Client wrapper for kernels_push.
24942496
Parameters
24952497
==========
24962498
folder: the path of the folder
24972499
"""
24982500
folder = folder or os.getcwd()
2499-
result = self.kernels_push(folder)
2501+
result = self.kernels_push(folder, timeout)
25002502

25012503
if result is None:
25022504
print('Kernel push error: see previous output')

kaggle/cli.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,10 @@ def parse_kernels(subparsers):
747747
dest='folder',
748748
required=False,
749749
help=Help.param_kernel_upfile)
750+
parser_kernels_push_optional.add_argument(
751+
'-t',
752+
'--timeout',
753+
dest='timeout')
750754
parser_kernels_push._action_groups.append(parser_kernels_push_optional)
751755
parser_kernels_push.set_defaults(func=api.kernels_push_cli)
752756

src/kaggle/api/kaggle_api_extended.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2369,7 +2369,7 @@ def kernels_initialize_cli(self, folder=None):
23692369
meta_file = self.kernels_initialize(folder)
23702370
print('Kernel metadata template written to: ' + meta_file)
23712371

2372-
def kernels_push(self, folder):
2372+
def kernels_push(self, folder, timeout):
23732373
""" Read the metadata file and kernel files from a notebook, validate
23742374
both, and use the Kernel API to push to Kaggle if all is valid.
23752375
Parameters
@@ -2487,16 +2487,18 @@ def kernels_push(self, folder):
24872487
request.model_data_sources = model_sources
24882488
request.category_ids = self.get_or_default(meta_data, 'keywords', [])
24892489
request.docker_image_pinning_type = docker_pinning_type
2490+
if timeout:
2491+
request.session_timeout_seconds = int(timeout)
24902492
return kaggle.kernels.kernels_api_client.save_kernel(request)
24912493

2492-
def kernels_push_cli(self, folder):
2494+
def kernels_push_cli(self, folder, timeout):
24932495
""" Client wrapper for kernels_push.
24942496
Parameters
24952497
==========
24962498
folder: the path of the folder
24972499
"""
24982500
folder = folder or os.getcwd()
2499-
result = self.kernels_push(folder)
2501+
result = self.kernels_push(folder, timeout)
25002502

25012503
if result is None:
25022504
print('Kernel push error: see previous output')

src/kaggle/cli.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,10 @@ def parse_kernels(subparsers):
747747
dest='folder',
748748
required=False,
749749
help=Help.param_kernel_upfile)
750+
parser_kernels_push_optional.add_argument(
751+
'-t',
752+
'--timeout',
753+
dest='timeout')
750754
parser_kernels_push._action_groups.append(parser_kernels_push_optional)
751755
parser_kernels_push.set_defaults(func=api.kernels_push_cli)
752756

0 commit comments

Comments
 (0)