From 576c3d9f9a66f395397318efd315f842d46ce9da Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 19 May 2017 12:15:33 +0100 Subject: [PATCH] Add /api/shutdown handler --- notebook/notebookapp.py | 1 + notebook/services/shutdown.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 notebook/services/shutdown.py diff --git a/notebook/notebookapp.py b/notebook/notebookapp.py index 3985316f0..2417b3c38 100755 --- a/notebook/notebookapp.py +++ b/notebook/notebookapp.py @@ -294,6 +294,7 @@ class NotebookWebApplication(web.Application): handlers.extend(load_handlers('services.nbconvert.handlers')) handlers.extend(load_handlers('services.kernelspecs.handlers')) handlers.extend(load_handlers('services.security.handlers')) + handlers.extend(load_handlers('services.shutdown')) handlers.append( (r"/nbextensions/(.*)", FileFindHandler, { diff --git a/notebook/services/shutdown.py b/notebook/services/shutdown.py new file mode 100644 index 000000000..78d1f2ad6 --- /dev/null +++ b/notebook/services/shutdown.py @@ -0,0 +1,15 @@ +"""HTTP handler to shut down the notebook server. +""" +from tornado import web, ioloop +from notebook.base.handlers import IPythonHandler + +class ShutdownHandler(IPythonHandler): + @web.authenticated + def post(self): + self.log.info("Shutting down on /api/shutdown request.") + ioloop.IOLoop.current().stop() + + +default_handlers = [ + (r"/api/shutdown", ShutdownHandler), +]