Real-time collaboration stability?
Hi everyone!
I am very excited about the experimental real-time collaboration features that I am trying to use with my university students learning Python!
However I am experiencing stability issues: the feature works as expected but after a short while (a few minutes) the remote marimo notebooks are displaying some Failed to save / Failed to fetch, Failed to run / Failed to fetch, errors and new connections are impossible ("Secure connection failed" ; see screenshots). The local notebook is still working properly.
Any clue on what may be happening? Is it something anyone else also experienced?
More context :
- I am running the marimo notebook on
localhost
and exposing it via ngrok to a public address. The issue could be related to ngrok but in my personnal experience it is quite stable (when used to expose other services, such as web servers).
- I tried the same experiment with the jupyter stack (and the jupyter-collaboration package) and I ran into the same issues (it works as expected, but for a few minutes only).
Best regards,
Sébastienngrok | API Gateway, IoT Device Gateway, Secure Tunnels for Contain...
ngrok is a secure ingress platform that enables developers to add global server load balancing, reverse proxy, firewall, API gateway and Kubernetes Ingress to applications and APIs.
8 Replies
Someone will reply to you shortly. In the meantime, this might help:
hey @boisgera if the jupyter stack has the same issues, it is likely expected. we use their same library under the hood.
my hunch though is the setup with ngrok + websockets. not sure how many they allow concurrently and whether or not they keeep it alive. is this on the free ngrok?
Hey @Myles Scolnick, thanks for your thoughts! Yes, I am using the free ngrok. I'll try and test again without ngrok to see if the issue disappears. Is there any other ngrok-like (free) tool that you know of that would likely not have the same issue? Any official marimo recommandation for this use case? Cheers!
i dont know any other free tools that would work
OK! I'll try Microsoft devtunnel (which is bundled with vscode). I'll tell you how it goes. Thanks again Myles!
havent heard of that one, sounds good, thank you!
Well, AFAICT, Dev Tunnels work better than ngrok for this use case! 👍
I tried with a dozen distincts connections for ~15 min and so far so good! A simple
I tried with a dozen distincts connections for ~15 min and so far so good! A simple
devtunnel host -p 2720 --allow-anonymous
(after a devtunnel login -g
to login via GitHub) does the trick. More about the Dev tunnels CLI : https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-startedCreate and host a tunnel - Microsoft dev tunnels
In this quickstart, you learn how to get started with creating publicly accessible ports for local services with dev tunnels. After you complete these steps, you have a dev tunnel that you can use to connect to remote compute.
Thanks for sharing. Good to know when we document this.