jupyter-rsession-proxy
jupyter-rsession-proxy copied to clipboard
Adds support for unix_socket
This PR enables RStudio connections via sockets in combination with this PR for RStudio https://github.com/rstudio/rstudio/pull/14938
This PR also
- adds
www-thread-pool-sizeas a possible option which can be set via the environment variableRSERVER_THREAD_POOL_SIZE - calls
rserverjust once to get all supported arguments in_support_args(). This is useful asrservermight be only available through modules which takes some time to load. Therefore, this loading can be reduced.
yay, thank you for your contribution both here and upstream to rstudio! This is going to unlock a lot of non-containerized use cases - I'm super excited for that to land :)
If you could split the PR into a unix socket one and one with everything else, that would make this easier to review and merge. I would like to hold off on merging the unix socket one until that upstream PR gets merged, but the others should be easier. Would you be open to splitting it up like that?
Thanks!
Thanks @yuvipanda . I will split the PR.
The PR for unix-socket support in RStudio is now merged and will be part of the official "Kousa Dogwood" builds expected in 2024.10 : https://github.com/rstudio/rstudio/pull/14938#issuecomment-2243950205
RStudio v2024.12.0+467 is out: https://github.com/rstudio/rstudio/releases/tag/v2024.12.0%2B467
I would like to hold off on merging the unix socket one until that upstream PR gets merged, but the others should be easier. Would you be open to splitting it up like that?
@jhgoebbert Could you split the PR into a unix socket one and one with everything else?
Thank you.
@yuvipanda Or could this be merged as is?
@consideRatio Any objections?
I tested this PR successfully with RStudio v2024.12.0+467 and
pip install git+https://github.com/jhgoebbert/jupyter-rsession-proxy@feature/sockets
plus setting environment variable RSERVER_USE_SOCKET=1.
@jhgoebbert @yuvipanda @consideRatio Happy Holidays!
Happy holidays @benz0li!! ❤️
Sorry for not helping out here now. I'm currently less available for open-source contributions than I've been for many years.
Thanks for testing @benz0li ! I also think it'd be good to split the PR per @yuvipanda's comments. (the unix socket support and the reduction in subprocess invocation)
I agree that it would be great to have this functionality.
This PR gets closed as I have splitted the PR like @yuvipanda asked for in https://github.com/jupyterhub/jupyter-rsession-proxy/pull/151#issuecomment-2226401030
- unix-socket-support: https://github.com/jupyterhub/jupyter-rsession-proxy/pull/159
I will create a PR for the other features as soon as the unix-socket-support is merged.
The second part of this PR can now be found here
- minimize overhead: https://github.com/jupyterhub/jupyter-rsession-proxy/pull/160