From 9d0964727adbc773298124d3ea3c094a230f3514 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 6 Jan 2025 11:47:38 +0530 Subject: [PATCH] feat: perform memory cleanup --- .../classes/RemoteBrowser.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/server/src/browser-management/classes/RemoteBrowser.ts b/server/src/browser-management/classes/RemoteBrowser.ts index ebdb8cac..e084e2b3 100644 --- a/server/src/browser-management/classes/RemoteBrowser.ts +++ b/server/src/browser-management/classes/RemoteBrowser.ts @@ -127,6 +127,29 @@ export class RemoteBrowser { }, MEMORY_CONFIG.gcInterval); } + private async performMemoryCleanup(): Promise { + this.screenshotQueue = []; + this.isProcessingScreenshot = false; + + if (global.gc) { + global.gc(); + } + + // Reset CDP session if needed + if (this.client) { + try { + await this.stopScreencast(); + this.client = null; + if (this.currentPage) { + this.client = await this.currentPage.context().newCDPSession(this.currentPage); + await this.startScreencast(); + } + } catch (error) { + logger.error('Error resetting CDP session:', error); + } + } + } + /** * Normalizes URLs to prevent navigation loops while maintaining consistent format */