JavaScript 事件#
注意
这是从旧的 IPython wiki 直接复制过来的,目前正在开发中。开发指南的这一部分中的许多信息已经过时。
(注意:此页面目前与 IPython/Jupyter 主分支不一致)
Javascript 事件用于在笔记本界面中的无关部分发生某些事情时进行通知。例如,如果内核正在忙于执行代码,它可能会发送一个事件来宣布这一点,然后其他服务,如通知区域,可以接收到这个事件。有关事件本身如何工作的详细信息,请参阅 JQuery 文档。
本页面记录了核心事件集,并解释了它们何时以及为何被触发。
与单元格相关的事件#
与CellToolbar相关的事件#
仪表盘相关事件#
app_initialized.DashboardApp#
当Jupyter Notebook浏览器窗口首次打开并初始化Dashboard App时。Dashboard App会列出当前目录中的文件和笔记本。此外,它还允许您创建和打开新的Jupyter笔记本。
内核相关事件#
kernel_created.Kernel#
内核已通过 /api/kernels 成功创建或重新创建,但尚未一定建立连接。
kernel_created.Session#
内核通过 /api/sessions 已成功创建或重新创建,但尚未一定建立连接。
内核重新连接。内核#
正在尝试在断开连接后重新连接(通过 websockets)到内核。
kernel_connected.Kernel#
已建立与内核的连接。这是在所有 websocket(例如到 shell、iopub 和 stdin 通道)都已打开时触发的。但这并不一定意味着内核已经准备好执行任何操作。
kernel_starting.内核#
内核正在启动。这在内核进程启动时触发一次,可以由内核作为消息发送,或者如果前端知道内核正在启动(例如,它创建了内核并连接到它,但尚未能够与之通信),则可能由前端触发。
kernel_ready.Kernel#
类似于 kernel_idle.Kernel,但在内核完全启动后触发。
kernel_restarting.内核#
内核正在重新启动。这是在调用 /api/kernels 进行重启操作时触发的。
内核自动重启.内核#
内核正在自行重启,这可能意味着发生了某些情况导致内核崩溃。例如,在笔记本中运行以下代码会导致内核自动重启:
import os
os._exit(1)
kernel_interrupting.Kernel#
内核正在被中断。这是在向 /api/kernels 发起中断调用时触发的。
内核断开.内核#
与内核的连接已丢失。
kernel_connection_failed.内核连接失败#
不仅连接丢失了,而且是因为错误而丢失的(即,我们没有告诉 websockets 关闭)。
kernel_idle.Kernel#
内核的执行状态为 '空闲'。
kernel_busy.Kernel#
内核的执行状态为 '忙碌'。
kernel_killed.Kernel#
内核已通过 /api/kernels 手动终止。
kernel_killed.会话#
内核已通过 /api/sessions 手动终止。
kernel_dead.Kernel#
如果内核死亡,并且内核管理器尝试重新启动它,但无法成功,则会触发此情况。例如,在笔记本中运行以下代码将导致内核死亡,并且内核管理器无法重新启动它:
import os
from IPython.kernel.connect import get_connection_file
with open(get_connection_file(), 'w') as f:
f.write("garbage")
os._exit(1)
内核_死.会话#
内核无法通过 /api/sessions 启动。这可能是因为请求的内核类型未安装。另一个原因是内核已死亡或被终止,但会话未被终止。