Завершение работы ноутбука jupyter из указанного ноутбука

#python #jupyter-notebook

#python #jupyter-notebook

Вопрос:

Я работаю в ноутбуках jupyter, работающих на сервере. Я часто позволяю своему сверхмощному коду работать всю ночь. Я хотел бы освободить память сервера, когда мой код будет завершен, чтобы другие люди могли работать утром. Я думал о том, чтобы добавить некоторый код для освобождения памяти / закрытия ноутбука в последнем фрагменте.

Как бы мне этого добиться? Видите ли вы другой, более актуальный курс действий?

Ответ №1:

В обсуждении на github было предложено следующее решение:

 %%javascript
require(
    ["base/js/dialog"], 
    function(dialog) {
        dialog.modal({

                title: 'Notebook Halted',
                body: 'This notebook is no longer running; the kernel has been halted. Close the browser tab, or, to continue working, restart the kernel.',
                buttons: {
                    'Kernel restart': { click: function(){ Jupyter.notebook.session.restart(); } }
                }
        });
    }
);
Jupyter.notebook.session.delete();
  

Комментарии:

1. Спасибо, из другого обсуждения мне кажется, что нужны только первая и последняя строки.

Ответ №2:

Похоже, что :

 %%javascript
Jupyter.notebook.session.delete();
  

Достаточно для достижения желаемого завершения работы.

Код, предложенный Александрой Дудкиной, похоже, также открывает диалоговое окно с предложением перезапустить ядро. что не нужно в моем случае использования.