I’ve been using Binder for a while with work to demo and teach ML. We have had a problem in the last few weeks that often peoples work (all instances of the same Binder) would stop working and have a error forcing us to reload (reloading kernal not resolving the issue. somehting in js not working or not connecting). On reload the Binder would revert to the original state as users aren’t logged in, losing their work.
Is there anything I can do here or should i start using another service for this kind of work?
Sorry about that! Do you have a link to the repository you were trying to run? Maybe there is something we can tweak.
When your kernel is not busy for more then ten minutes we stop it (save the notebook and restart the kernel). If for ten minutes or more no kernel is running we remove the whole binder (your work is lost). Unfortunately there is not much you can do about this beyond not letting your kernel stop running (which is tricky in a teaching situation).
We are thinking about and trying out ideas for how to make it possible for people to recover their work or even start a new binder from one that used to exist (but has expired). It is a bit tricky though
Overall the reason we are so aggressive on removing “inactive” instances is that mybinder.org is a free resource so our budget for compute power is limited
Today (about 8hrs ago) and about 4 weeks ago we did some maintenance which could have interrupted things more than usual, though you would have had to be active in a particular five minute window.
Thank you for the clarity on your procedure.
We’ve been using the platform as its low friction and free so we can jump in and know that some poeple will want to save and download their work, while others may never look at it again. It’s great to have this resource available as compared to IBM, Google or Kaggle’s respectively who have good platforms but you still need accounts to start coding or worse. And installing Anaconda isn’t always an option either for locked down business machines .
It’s important the our learners don’t get fustrated and stop learning to code so hopefully we’ll find something similar or just ask learner to execute something every ten minutes of less
Maybe the options from Jupyter-archive: Make, download and extract archive files help make it easier. They make it easy to download “everything” and upload it again later. Not perfect but would useful if you know you are about to have a tea break, non coding exercise or wrapping up a section.
The other solution is to run your own BinderHub where you can turn off the timeout.