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

Add jsp manager #2

Open
wants to merge 25 commits into
base: main
Choose a base branch
from

Conversation

DeepCowProductions
Copy link

No description provided.

mahendrapaipuri and others added 25 commits April 27, 2023 14:57
It keeps simpervisor proc objects in internal state to be able to teminate
a process by calling terminate method on proc object.

It also checks the status of active processes by running a periodic
callback. If a process is killed outside of jsp, it removes it from
running apps list.
Existing servers-info endpoint is moved with api sub directory to have
a consistent end point scheme.
We also check if proxy is "running" and if it is not, we remove proc
object to restart the proxy. This way proxy will be restarted only when user
does it via lancher.
This manager will be added to running sessions widget so that user can
view and terminate running server proxy apps.

Proxy app metadata will be shown when we hover over proxy app name.
Do not instantiate manager in the file anymore. This will be done
during extension loading

Rework monitoring for proxy apps natively using asyncio. This will be
added as callback to ServerApp IO loop during extension loading

Manager spits out logs in debug mode when there is proxy app is
added/removed from it.

Added uni_socket to server proxy app dataclass

Remove unnecessary async methods

Properly handle the get_server_proxy_{app,proc} methods when server
proxy is not found in the manager. We return a default ServerProxyApp
tuple in this case with empty values
An OpenAPI spec file is added to keep track of APIs for better
maintainability

All APIs are moved into /server-proxy/ subdirectory. Seems like root /
is used by jupyter_server and /lab/ is used by jupyterlab_server.
Moving all APIs under /server-proxy will future incompatibilities

Initialise ServersAPIHandler with manager instead of importing it

Use a function to setup API handlers which can be called directly during
extension loading
We add manager as a traitlet to ServerApp and add monitor as a callback
to ServerApp IO lopp

Simplify API handlers setup
Move RunningServerProxyApp to a separate file

Use lab transalation capabilities for complex strings

Use URLExt package to manipulate URLs
Use lumino polling class for polling server proxy apps

Add schema to be able to configure refreshInterval
Avoid duplicating codebase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants