Comments (8)
Thank you for your notes and detailed research!
This isn't something that anyone else has mentioned, or that I've noticed myself, but as you suggest maybe it is more obvious with longer-running scripts.
Similar 'quirks' have come up before though. For example, Streamlit's use of websockets wasn't 100% in line with the protocol (or maybe it was Tornado missing a step...), so jhsingle-native-proxy had to take into account how HTTP cookies were returned unexpectedly during the websocket handshake.
Anyway, yes, it would be good to 'flush' on the jhsingle-native-proxy side (assuming the upstream JupyterHub proxy handles it OK!).
I'd like to take a look at some point, but if it is a blocker for you then please get in touch and we can see if we can work together on this somehow. In any case, it would be great to hear more about how you are using the project. Email [email protected] if you'd like to discuss.
from jhsingle-native-proxy.
I have made a commit that attempts to overcome this problem.
It would be great if you can try it out. Currently only in master branch, not released.
The solution needs to do a bit of processing in Python that it didn't have to do before, so it's possible this will slow things down in the case where the underlying process is not using the 'progressive flushing'. (And also for serving other Voila assets such as CSS and JS.) And there could be other side-effects, so if it is worthwhile for Voila but not other frameworks, maybe this approach needs to become a command-line option.
from jhsingle-native-proxy.
I had a chance to release a beta version in case that is easier for you to install: https://pypi.org/project/jhsingle-native-proxy/0.7.2b1/
from jhsingle-native-proxy.
That's great, thanks for the quick turnaround on that! We'll get that setup in our test environment and let you know how it goes.
from jhsingle-native-proxy.
With the inclusion of #12, we tested locally and works great! Thanks for helping with this @danlester.
from jhsingle-native-proxy.
Thanks for trying it out. Great to hear it works, with your fix.
As before, I think it will make sense to make this feature switchable, and include the argument for Voila only really. Anyway, sounds like you're in a position to move forward for now, and might need to look for a switch in the next full release.
from jhsingle-native-proxy.
Thanks. Are you able to make a beta release with #12 for us to deploy?
Definitely agreed that putting it behind a feature flag makes sense for a main release.
from jhsingle-native-proxy.
No problem, you can now use jhsingle-native-proxy==0.7.2b2
There is a way to install directly from a GitHub commit URL but I think the syntax is different in pip compared to conda, and I can never remember exactly how to do it... And maybe your build system won't allow it anyway.
from jhsingle-native-proxy.
Related Issues (18)
- Depending on jupyter-server-proxy HOT 4
- Is --template is supported? HOT 7
- Make readiness timeout configurable HOT 9
- Websocket max_message_size is too low HOT 5
- Error: No such option: --SingleUserNotebookApp.default_url HOT 5
- jhsingle-native-proxy not showing running notebook while using voila until notebook finish its execution HOT 3
- Unable to setup with TLJH HOT 10
- [Feature Request] Binder Button HOT 2
- Getting 404 error while launching Streamlit dashboard HOT 3
- simpervisor update breaks jhsingle-native-proxy HOT 1
- idea : support for UNIX sockets HOT 1
- Jhsingle-native-proxy 0.8.1 logger not outputting log messages to the console HOT 1
- Intermittent 500 Internal Server Error due to Premature Child Process Termination in `ensure_process`
- timeouts HOT 2
- await None HOT 3
- Exposing some logs from the process being proxied HOT 2
- py39 compat HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jhsingle-native-proxy.