本文整理汇总了Python中IPython.qt.inprocess.QtInProcessKernelManager.interrupt_kernel方法的典型用法代码示例。如果您正苦于以下问题:Python QtInProcessKernelManager.interrupt_kernel方法的具体用法?Python QtInProcessKernelManager.interrupt_kernel怎么用?Python QtInProcessKernelManager.interrupt_kernel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPython.qt.inprocess.QtInProcessKernelManager
的用法示例。
在下文中一共展示了QtInProcessKernelManager.interrupt_kernel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: InProcessRunner
# 需要导入模块: from IPython.qt.inprocess import QtInProcessKernelManager [as 别名]
# 或者: from IPython.qt.inprocess.QtInProcessKernelManager import interrupt_kernel [as 别名]
#.........这里部分代码省略.........
def _handle_kernel_died(self, since_last_heartbeat):
"""Handle the kernel's death (if we do not own the kernel).
"""
logging.warn("kernel died")
self.reset()
def _handle_kernel_info_reply(self, *args, **kwargs):
pass
def _handle_kernel_restarted(self, died=True):
"""Notice that the autorestarter restarted the kernel.
There's nothing to do but show a message.
"""
logging.warn("kernel restarted")
self.reset()
def _handle_execute_result(self, msg):
""" Handle display hook output.
"""
logging.debug("execute_result: %s", msg.get('content', ''))
if not self._hidden and self._is_from_this_session(msg):
msg_id = msg['parent_header']['msg_id']
if msg_id not in self._cell_execute_ids: # Only on the in-process kernel can this happen
self._result_queue.append(msg)
return
(cell, n, pc) = self._cell_execute_ids[msg_id]
#out = NotebookNode(output_type='display_data')
for mime, data in msg['content']['data'].items():
try:
attr = self.MIME_MAP[mime]
except KeyError:
raise NotImplementedError('unhandled mime type: %s' % mime)
#setattr(out, attr, data)
#cell['outputs'].append(out)
def _handle_stream(self, msg):
""" Handle stdout, stderr, and stdin.
"""
logging.debug("stream: %s", msg.get('content', ''))
if not self._hidden and self._is_from_this_session(msg):
logging.info(msg['content']['data'])
def _handle_shutdown_reply(self, msg):
""" Handle shutdown signal, only if from other console.
"""
logging.info("shutdown: %s", msg.get('content', ''))
restart = msg.get('content', {}).get('restart', False)
if not self._hidden and not self._is_from_this_session(msg):
# got shutdown reply, request came from session other than ours
if restart:
# someone restarted the kernel, handle it
self._handle_kernel_restarted(died=False)
else:
# kernel was shutdown permanently
self.exit_requested.emit(self)
def _handle_status(self, msg):
"""Handle status message"""
# This is where a busy/idle indicator would be triggered,
# when we make one.
state = msg['content'].get('execution_state', '')
if state == 'starting':
# kernel started while we were running
if self._executing:
self._handle_kernel_restarted(died=True)
elif state == 'idle':
pass
elif state == 'busy':
pass
#---------------------------------------------------------------------------
# 'FrontendWidget' public interface
#---------------------------------------------------------------------------
def interrupt_kernel(self):
""" Attempts to interrupt the running kernel.
Also unsets _reading flag, to avoid runtime errors
if raw_input is called again.
"""
self._reading = False
self.kernel_manager.interrupt_kernel()
def restart_kernel(self, message, now=False):
""" Attempts to restart the running kernel.
"""
# Pause the heart beat channel to prevent further warnings.
self.kernel_client.hb_channel.pause()
try:
self.kernel_manager.restart_kernel(now=now)
except RuntimeError as e:
logging.error('Error restarting kernel: %s\n' % e)
else:
logging.info("Restarting kernel...\n")
示例2: NotebookRunner
# 需要导入模块: from IPython.qt.inprocess import QtInProcessKernelManager [as 别名]
# 或者: from IPython.qt.inprocess.QtInProcessKernelManager import interrupt_kernel [as 别名]
#.........这里部分代码省略.........
self._current_cell['outputs'].append(out)
def _handle_kernel_died(self, since_last_heartbeat):
"""Handle the kernel's death (if we do not own the kernel).
"""
logging.warn("kernel died")
self.reset()
def _handle_kernel_restarted(self, died=True):
"""Notice that the autorestarter restarted the kernel.
There's nothing to do but show a message.
"""
logging.warn("kernel restarted")
self.reset()
def _handle_execute_result(self, msg):
""" Handle display hook output.
"""
logging.debug("execute_result: %s", msg.get('content', ''))
if not self._hidden and self._is_from_this_session(msg):
msg_id = msg['parent_header']['msg_id']
if msg_id not in self._cell_execute_ids: # Only on the in-process kernel can this happen
self._result_queue.append(msg)
return
(cell, n, pc) = self._cell_execute_ids[msg_id]
out = NotebookNode(output_type='display_data')
for mime, data in msg['content']['data'].items():
try:
attr = self.MIME_MAP[mime]
except KeyError:
raise NotImplementedError('unhandled mime type: %s' % mime)
setattr(out, attr, data)
cell['outputs'].append(out)
def _handle_stream(self, msg):
""" Handle stdout, stderr, and stdin.
"""
logging.debug("stream: %s", msg.get('content', ''))
if not self._hidden and self._is_from_this_session(msg):
logging.info(msg['content']['data'])
def _handle_shutdown_reply(self, msg):
""" Handle shutdown signal, only if from other console.
"""
logging.info("shutdown: %s", msg.get('content', ''))
restart = msg.get('content', {}).get('restart', False)
if not self._hidden and not self._is_from_this_session(msg):
# got shutdown reply, request came from session other than ours
if restart:
# someone restarted the kernel, handle it
self._handle_kernel_restarted(died=False)
else:
# kernel was shutdown permanently
self.exit_requested.emit(self)
def _handle_status(self, msg):
"""Handle status message"""
# This is where a busy/idle indicator would be triggered,
# when we make one.
state = msg['content'].get('execution_state', '')
if state == 'starting':
# kernel started while we were running
if self._executing:
self._handle_kernel_restarted(died=True)
elif state == 'idle':
pass
elif state == 'busy':
pass
#---------------------------------------------------------------------------
# 'FrontendWidget' public interface
#---------------------------------------------------------------------------
def interrupt_kernel(self):
""" Attempts to interrupt the running kernel.
Also unsets _reading flag, to avoid runtime errors
if raw_input is called again.
"""
self._reading = False
self.kernel_manager.interrupt_kernel()
def restart_kernel(self, message, now=False):
""" Attempts to restart the running kernel.
"""
# Pause the heart beat channel to prevent further warnings.
self.kernel_client.hb_channel.pause()
try:
self.kernel_manager.restart_kernel(now=now)
except RuntimeError as e:
logging.error('Error restarting kernel: %s\n' % e)
else:
logging.info("Restarting kernel...\n")