Skip to content

Commit f6bc5e6

Browse files
authored
Merge pull request #290 from ssanderson/make-restarter-class-configurable
ENH: Make KernelRestarter class configurable.
2 parents dd7a7bb + aa6ce08 commit f6bc5e6

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

jupyter_client/ioloop/manager.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
from zmq.eventloop.zmqstream import ZMQStream
1818

1919
from traitlets import (
20-
Instance
20+
Instance,
21+
Type,
2122
)
2223

2324
from jupyter_client.manager import KernelManager
@@ -40,12 +41,22 @@ class IOLoopKernelManager(KernelManager):
4041
def _loop_default(self):
4142
return ioloop.IOLoop.instance()
4243

44+
restarter_class = Type(
45+
default_value=IOLoopKernelRestarter,
46+
klass=IOLoopKernelRestarter,
47+
help=(
48+
'Type of KernelRestarter to use. '
49+
'Must be a subclass of IOLoopKernelRestarter.\n'
50+
'Override this to customize how kernel restarts are managed.'
51+
),
52+
config=True,
53+
)
4354
_restarter = Instance('jupyter_client.ioloop.IOLoopKernelRestarter', allow_none=True)
4455

4556
def start_restarter(self):
4657
if self.autorestart and self.has_kernel:
4758
if self._restarter is None:
48-
self._restarter = IOLoopKernelRestarter(
59+
self._restarter = self.restarter_class(
4960
kernel_manager=self, loop=self.loop,
5061
parent=self, log=self.log
5162
)

0 commit comments

Comments
 (0)