Allow users to restart a service
See original GitHub issueI am and will be enabling users to run Bokeh, Dash, Flask, Panel, Streamlit and Voila apps on Jupyter Hub and Binder.
Those apps are a part of the explorative environment and users would expect to be able to update the underlying code and experience the updated apps. In my case the users might not even update the code them selves but the app code would be updated by other users/ a system team in one or more shared folders that are mounted.
Currently I don’t see any way of restarting those services. I would like a feature to easily restart a service.
Additional Context
Examples of servers are
I have a similar request for jupyter-panel-proxy
that it should provide functionality to restart. But I also created a feature request here as I believe the use case and request is more general. See https://github.com/holoviz/jupyter-panel-proxy/issues/14
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:5 (2 by maintainers)
Top GitHub Comments
Nah, a couple restart policies (especially if we don’t have to think them up) still seem quite useful… But sometimes it will make sense to want to drive the bus manually, especially (again) if we don’t have to think up a novel ui.
I think dedicated restarting/status/logging is worth pursuing. Over on jupyter(lab)-lsp, we’ve had similar concerns, especially for language servers that have file-based configurations someone may wish to update interactively… or that get wedged, and need hard restarts.
While we previously had a dependency on
jupyter-server-proxy
, we ended up needing more bells and whistles, and have been handling our own stuff for a while. We have a stoppable server session concept… but haven’t actually ended up exposing it to users.Perhaps we could consider some way of bringing some parts of the codebase back together, as a common upstream dependency, for example:
ideally, these wouldn’t specify how the processes actually work: we’re using a mishmash of stuff (especially on windows), and might end up having to do some more with e.g.
anyio