Kernel Restarter¶
The Kernel Restarter API is used by applications wishing to perform automatic kernel
restarts upon detection of the kernel’s unexpected termination. jupyter_kernel_mgmt
provides
KernelRestarterBase
and provides an implementation of that class for Tornado-based
applications via TornadoKernelRestarter
.
-
class
jupyter_kernel_mgmt.restarter.
KernelRestarterBase
(kernel_manager, kernel_type, kernel_finder=None, **kw)¶ Monitor and autorestart a kernel.
-
debug
¶ Whether to include every poll event in debugging output. Has to be set explicitly, because there will be a lot of output.
-
time_to_dead
¶ Kernel heartbeat interval in seconds.
-
restart_limit
¶ The number of consecutive autorestarts before the kernel is presumed dead.
-
start
()¶ Start monitoring the kernel.
-
stop
()¶ Stop monitoring.
-
add_callback
(f, event)¶ Register a callback to fire on a particular event.
- Possible values for event:
‘died’: the monitored kernel has died
‘restarted’: a restart has been attempted (this does not necessarily mean that the new kernel is usable).
‘failed’: restart_limit attempts have failed in quick succession, and the restarter is giving up.
-
remove_callback
(f, event)¶ Unregister a callback from a particular event
Possible values for event are the same as in
add_callback()
.
-
async
do_restart
(auto=False)¶ Called when the kernel has died
-
async
poll
()¶
-
-
class
jupyter_kernel_mgmt.restarter.
TornadoKernelRestarter
(kernel_manager, kernel_type, kernel_finder=None, **kw)¶ Monitor a kernel using the tornado ioloop.
-
add_callback
(f, event)¶ Register a callback to fire on a particular event.
- Possible values for event:
‘died’: the monitored kernel has died
‘restarted’: a restart has been attempted (this does not necessarily mean that the new kernel is usable).
‘failed’: restart_limit attempts have failed in quick succession, and the restarter is giving up.
-
add_traits
(**traits)¶ Dynamically add trait attributes to the HasTraits instance.
-
classmethod
class_config_rst_doc
()¶ Generate rST documentation for this class’ config options.
Excludes traits defined on parent classes.
-
classmethod
class_config_section
()¶ Get the config class config section
-
classmethod
class_get_help
(inst=None)¶ Get the help string for this class in ReST format.
If inst is given, it’s current trait values will be used in place of class defaults.
-
classmethod
class_get_trait_help
(trait, inst=None)¶ Get the help string for a single trait.
If inst is given, it’s current trait values will be used in place of the class default.
-
classmethod
class_own_trait_events
(name)¶ Get a dict of all event handlers defined on this class, not a parent.
Works like
event_handlers
, except for excluding traits from parents.
-
classmethod
class_own_traits
(**metadata)¶ Get a dict of all the traitlets defined on this class, not a parent.
Works like class_traits, except for excluding traits from parents.
-
classmethod
class_print_help
(inst=None)¶ Get the help string for a single trait and print it.
-
classmethod
class_trait_names
(**metadata)¶ Get a list of all the names of this class’ traits.
This method is just like the
trait_names()
method, but is unbound.
-
classmethod
class_traits
(**metadata)¶ Get a
dict
of all the traits of this class. The dictionary is keyed on the name and the values are the TraitType objects.This method is just like the
traits()
method, but is unbound.The TraitTypes returned don’t know anything about the values that the various HasTrait’s instances are holding.
The metadata kwargs allow functions to be passed in which filter traits based on metadata values. The functions should take a single value as an argument and return a boolean. If any function returns False, then the trait is not included in the output. If a metadata key doesn’t exist, None will be passed to the function.
-
property
cross_validation_lock
¶ A contextmanager for running a block with our cross validation lock set to True.
At the end of the block, the lock’s value is restored to its value prior to entering the block.
-
async
do_restart
(auto=False)¶ Called when the kernel has died
-
has_trait
(name)¶ Returns True if the object has a trait with the specified name.
-
hold_trait_notifications
()¶ Context manager for bundling trait change notifications and cross validation.
Use this when doing multiple trait assignments (init, config), to avoid race conditions in trait notifiers requesting other trait values. All trait notifications will fire after all values have been assigned.
-
observe
(handler, names=traitlets.All, type='change')¶ Setup a handler to be called when a trait changes.
This is used to setup dynamic notifications of trait changes.
- Parameters
handler (callable) – A callable that is called when a trait changes. Its signature should be
handler(change)
, wherechange
is a dictionary. The change dictionary at least holds a ‘type’ key. *type
: the type of notification. Other keys may be passed depending on the value of ‘type’. In the case where type is ‘change’, we also have the following keys: *owner
: the HasTraits instance *old
: the old value of the modified trait attribute *new
: the new value of the modified trait attribute *name
: the name of the modified trait attribute.names (list, str, All) – If names is All, the handler will apply to all traits. If a list of str, handler will apply to all names in the list. If a str, the handler will apply just to that name.
type (str, All (default: 'change')) – The type of notification to filter by. If equal to All, then all notifications are passed to the observe handler.
-
on_trait_change
(handler=None, name=None, remove=False)¶ DEPRECATED: Setup a handler to be called when a trait changes.
This is used to setup dynamic notifications of trait changes.
Static handlers can be created by creating methods on a HasTraits subclass with the naming convention ‘_[traitname]_changed’. Thus, to create static handler for the trait ‘a’, create the method _a_changed(self, name, old, new) (fewer arguments can be used, see below).
If remove is True and handler is not specified, all change handlers for the specified name are uninstalled.
- Parameters
handler (callable, None) – A callable that is called when a trait changes. Its signature can be handler(), handler(name), handler(name, new), handler(name, old, new), or handler(name, old, new, self).
name (list, str, None) – If None, the handler will apply to all traits. If a list of str, handler will apply to all names in the list. If a str, the handler will apply just to that name.
remove (bool) – If False (the default), then install the handler. If True then unintall it.
-
remove_callback
(f, event)¶ Unregister a callback from a particular event
Possible values for event are the same as in
add_callback()
.
-
classmethod
section_names
()¶ return section names as a list
-
set_trait
(name, value)¶ Forcibly sets trait attribute, including read-only attributes.
-
setup_instance
(*args, **kwargs)¶ This is called before self.__init__ is called.
-
start
()¶ Start the polling of the kernel.
-
stop
()¶ Stop the kernel polling.
-
classmethod
trait_events
(name=None)¶ Get a
dict
of all the event handlers of this class.- Parameters
name (str (default: None)) – The name of a trait of this class. If name is
None
then all the event handlers of this class will be returned instead.- Returns
- Return type
The event handlers associated with a trait name, or all event handlers.
-
trait_metadata
(traitname, key, default=None)¶ Get metadata values for trait by key.
-
trait_names
(**metadata)¶ Get a list of all the names of this class’ traits.
-
traits
(**metadata)¶ Get a
dict
of all the traits of this class. The dictionary is keyed on the name and the values are the TraitType objects.The TraitTypes returned don’t know anything about the values that the various HasTrait’s instances are holding.
The metadata kwargs allow functions to be passed in which filter traits based on metadata values. The functions should take a single value as an argument and return a boolean. If any function returns False, then the trait is not included in the output. If a metadata key doesn’t exist, None will be passed to the function.
-
unobserve
(handler, names=traitlets.All, type='change')¶ Remove a trait change handler.
This is used to unregister handlers to trait change notifications.
- Parameters
handler (callable) – The callable called when a trait attribute changes.
names (list, str, All (default: All)) – The names of the traits for which the specified handler should be uninstalled. If names is All, the specified handler is uninstalled from the list of notifiers corresponding to all changes.
type (str or All (default: 'change')) – The type of notification to filter by. If All, the specified handler is uninstalled from the list of notifiers corresponding to all types.
-
unobserve_all
(name=traitlets.All)¶ Remove trait change handlers of any type for the specified name. If name is not specified, removes all trait notifiers.
-
update_config
(config)¶ Update config and load the new values
-