From 2e207f2f5ef89519fe4725b155bf6497ef58feca Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Sat, 1 Jun 2024 11:19:39 +0530 Subject: [PATCH] feat: terminate / destory remote browser instance --- server/src/browser-management/controller.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server/src/browser-management/controller.ts b/server/src/browser-management/controller.ts index 731ef030..39b8f931 100644 --- a/server/src/browser-management/controller.ts +++ b/server/src/browser-management/controller.ts @@ -65,4 +65,20 @@ export const createRemoteBrowserForRun = (options: RemoteBrowserOptions): string return id; }; +/** + * Terminates a remote browser recording session + * and removes the browser from the browser pool. + * @param id instance id of the remote browser to be terminated + * @returns {Promise} + * @category BrowserManagement-Controller + */ +export const destroyRemoteBrowser = async (id: string) : Promise => { + const browserSession = browserPool.getRemoteBrowser(id); + if (browserSession) { + logger.log('debug', `Switching off the browser with id: ${id}`); + await browserSession.stopCurrentInterpretation(); + await browserSession.switchOff(); + } + return browserPool.deleteRemoteBrowser(id); +}; };