Let's think about publishing stateless web apps
rs2 opened this issue · 3 comments
A great concept, but how do the dashboards work in a multiuser environment? Even after publishing the interactive widgets and the kernel preserve states that are shared across sessions, i.e. what one user does affects what the other user sees. Can we think of a workflow where a notebook is deployed as a true web app, i.e. stateless by default, possibly at the expense of spinning up a new kernel for each new session?
When deployed with the dashboard_server project also in jupyter-incubator, each user visit to a notebook-dashboard spawns its own independent kernel to separate state. This isn't possible in the Notebook server today because it is fundamentally a single user server.
@rs2 Just wanted to follow up on your comment. Have you had a chance to look at https://github.com/jupyter/dashboards_server ? Does the workflow here http://jupyter-dashboards-layout.readthedocs.io/en/latest/use-cases.html fit the use case you had in mind?
This use case is addressed in part by the dashboard server project. It's limited and imperfect, but definitely implements the model of one-kernel-per-visitor in the description. Further discussion can continue in PRs against that project.