Allow multiple connections to view currently running kernel
For a deployed dynamic dashboard to be usable, people need to load an existing dashboard and immediately see its current state. For dashboards that are long-running (streaming) or that take time to run (Spark), it is not practical to re-run the code in a new kernel each time the page is loaded.
We should allow new connections to an already running kernel and properly build the dashboard with the required cell outputs and interactivity without having to re-run code.
+1! I just started playing around with this with a notebook that takes a while to run and noticed that it runs the whole thing each time I try to load the dashboard.... I guess in the meantime I can try to do as much processing as possible outside the notebook and only leave the display/interaction pieces in the dashboard notebook.
FWIW, for a related but different use case: https://github.com/jupyter/nbviewer/issues/626