Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sessions #2

Open
daemontus opened this issue Feb 20, 2020 · 0 comments
Open

Sessions #2

daemontus opened this issue Feb 20, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@daemontus
Copy link
Member

Currently, compute engine has one global state. This works well for basic use cases, but is counter-intuitive if more tabs are open (one tab can overwrite results from other tabs...). Also, compute engine cannot be shared between multiple users.

Proposed solution:

  • Compute engine manager. When user tries to connect to the compute engine, a separate binary with custom port is started for this user (possibly with cpu and ram restrictions - maybe even docker? But that's probably overkill). This way, an out-of-memory error won't terminate remaining users. Also, anonymous connection can be allowed (again, with possible limits). Similar to the way Chrome creates a separate process for each tab.
  • This way, each session has a specific port and process it is running on. If there is no ping from the client within x seconds, the process dies (configurable timeout). There can be a kill switch as well in the GUI for stuck computations.
  • Ideally, when you log in, you can see all your running sessions (as in google docs you see different animals). Maybe as some "admin", you can even see everyone else's sessions. But this might be a bit of an overkill if we assume most of the time you are running locally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant