Я пишу расширение Jupyterlab и пытаюсь найти правильный способ реагировать на события выполнения и завершения ячейки. Документацию очень сложно понять :( Я пытался следовать за кодом в здесь в качестве примера. Они прикрепляют обработчик к изменению метаданных в ячейке, выполняя эту функцию для каждой ячейки:
_registerMetadataChanges(cellModel: ICellModel) {
if (!(cellModel.id in this._cellSlotMap)) {
const fn = () => this._cellMetadataChanged(cellModel);
this._cellSlotMap[cellModel.id] = fn;
cellModel.metadata.changed.connect(fn);
}
}
, а затем обработчик считывает метаданные, чтобы определить состояние выполнения. Я делаю то же самое, и по какой-то причине метаданные ячейки возвращаются пустыми, и нет даже их изменения (поскольку он всегда пуст Мне удалось получить ответ на сигнал cellModel.stateChanged
, но я не знаю, как определить состояние выполнения (выполняется? Поставлено в очередь? Завершено? Сбой?)
Есть идеи или ссылки на хорошую документацию?