Notebooks: Use new Python installation after configuration change (#14765)

* start new jupyter server

* restart session working (removed extra code)

* only restart server once

* shutdown session first then stop server

* add comments remove extra lines

* add comment

* fix test

* only restart jupyter sessions

* Dispose jupytersessionmanager and create new one

* move restart server logic out of notebookmodel

* move methods to azdata proposed

* pr comment
This commit is contained in:
Lucy Zhang
2021-03-24 15:31:20 -07:00
committed by GitHub
parent 130a439abc
commit f59e9b5695
15 changed files with 119 additions and 9 deletions

View File

@@ -255,6 +255,14 @@ class SessionManagerWrapper implements azdata.nb.SessionManager {
this._specs = specs;
}
}
shutdownAll(): Thenable<void> {
return this._proxy.ext.$shutdownAll(this.managerHandle);
}
dispose(): void {
return this._proxy.ext.$dispose(this.managerHandle);
}
}
class SessionWrapper implements azdata.nb.ISession {

View File

@@ -126,6 +126,12 @@ export class ExtHostNotebook implements ExtHostNotebookShape {
});
}
$shutdownAll(managerHandle: number): Thenable<void> {
return this._withSessionManager(managerHandle, async (sessionManager) => {
return sessionManager.shutdownAll();
});
}
$changeKernel(sessionId: number, kernelInfo: azdata.nb.IKernelSpec): Thenable<INotebookKernelDetails> {
let session = this._getAdapter<azdata.nb.ISession>(sessionId);
return session.changeKernel(kernelInfo).then(kernel => this.saveKernel(kernel));
@@ -207,6 +213,12 @@ export class ExtHostNotebook implements ExtHostNotebookShape {
future.dispose();
}
$dispose(managerHandle: number): Thenable<void> {
return this._withSessionManager(managerHandle, async (sessionManager) => {
return sessionManager.dispose();
});
}
//#endregion
//#region APIs called by extensions

View File

@@ -870,6 +870,8 @@ export interface ExtHostNotebookShape {
$refreshSpecs(managerHandle: number): Thenable<azdata.nb.IAllKernels>;
$startNewSession(managerHandle: number, options: azdata.nb.ISessionOptions): Thenable<INotebookSessionDetails>;
$shutdownSession(managerHandle: number, sessionId: string): Thenable<void>;
$shutdownAll(managerHandle: number): Thenable<void>;
$dispose(managerHandle: number): void;
// Session APIs
$changeKernel(sessionId: number, kernelInfo: azdata.nb.IKernelSpec): Thenable<INotebookKernelDetails>;