JavaScript 事件#
注意
這完全複製自舊的 IPython wiki,目前正在開發中。本開發指南的許多資訊已過時。
(注意:此頁面目前與 IPython/Jupyter master 不一致)
JavaScript 事件用於在發生某些事情時通知筆記本介面中不相關的部分。例如,如果核心正在忙於執行程式碼,它可能會發送一個宣佈此事件,然後其他服務(如通知區域)可以接收該事件。有關事件本身如何工作的詳細資訊,請參閱 JQuery 文件。
此頁面記錄了核心事件集,並解釋了何時以及為何觸發它們。
單元格相關事件#
單元格工具欄相關事件#
儀表板相關事件#
app_initialized.DashboardApp#
當 Jupyter Notebook 瀏覽器視窗首次開啟並初始化儀表板應用程式時。儀表板應用程式列出當前目錄中的檔案和筆記本。此外,它允許您建立和開啟新的 Jupyter Notebook。
核心相關事件#
kernel_created.Kernel#
核心已透過 /api/kernels
成功建立或重新建立,但尚未建立與它的連線。
kernel_created.Session#
核心已透過 /api/sessions
成功建立或重新建立,但尚未建立與它的連線。
kernel_reconnecting.Kernel#
斷開連線後,正嘗試(透過 websockets)重新連線到核心。
kernel_connected.Kernel#
已與核心建立連線。這會在所有 websockets(例如,到 shell、iopub 和 stdin 通道)開啟後立即觸發。但這不一定意味著核心已準備好執行任何操作。
kernel_starting.Kernel#
核心正在啟動。這會在核心程序啟動時觸發一次,並且可以作為訊息由核心傳送,或者如果前端知道核心正在啟動(例如,它建立了核心並已連線到它,但尚未能夠與其通訊),則可以由前端觸發。
kernel_ready.Kernel#
與 kernel_idle.Kernel 類似,但在核心完全啟動後觸發。
kernel_restarting.Kernel#
核心正在重新啟動。這會在呼叫 /api/kernels
的重新啟動開始時觸發。
kernel_autorestarting.Kernel#
核心正在自行重新啟動,這可能也意味著發生了導致核心死亡的事情。例如,在筆記本中執行以下程式碼將導致核心自動重新啟動
import os
os._exit(1)
kernel_interrupting.Kernel#
核心正在被中斷。這會在呼叫 /api/kernels
的中斷開始時觸發。
kernel_disconnected.Kernel#
與核心的連線已丟失。
kernel_connection_failed.Kernel#
不僅連線丟失了,而且是由於錯誤而丟失的(即,我們沒有告訴 websockets 關閉)。
kernel_idle.Kernel#
核心的執行狀態是“空閒”。
kernel_busy.Kernel#
核心的執行狀態是“忙碌”。
kernel_killed.Kernel#
核心已透過 /api/kernels
手動終止。
kernel_killed.Session#
核心已透過 /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)
kernel_dead.Session#
無法透過 /api/sessions
啟動核心。這可能是因為請求的核心型別未安裝。此訊息的另一個原因是核心死亡或被終止,但會話沒有。