Compare commits

...

8 commits

Author SHA1 Message Date
Ali Razmjoo
9f0dedc289
Merge 4e667c9adb into be2faf64ce 2024-12-22 05:46:23 +00:00
Louis Lam
be2faf64ce
Clarify that BSD OSs are not supported (#5465)
Some checks failed
validate / json-yaml-validate (push) Has been cancelled
validate / validate (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
2024-12-22 13:46:13 +08:00
Louis Lam
0b76e19401
Clarify that BSD OSs are not supported 2024-12-22 13:45:19 +08:00
Ali Razmjoo
4e667c9adb
close the current page context 2024-06-11 13:20:00 +02:00
Ali Razmjoo
617634f2af
Update real-browser-monitor-type.js 2024-06-10 16:45:56 +02:00
Ali Razmjoo
124f5a471a
Merge branch 'louislam:master' into fix-browser-high-cpu-issue 2024-06-10 16:31:50 +02:00
Ali Razmjoo
a87b833a5a
Merge branch 'master' into fix-browser-high-cpu-issue 2023-09-23 13:17:51 +02:00
Ali Razmjoo
caa8dd8ec2 close the browser after getBrowser() 2023-09-23 13:11:02 +02:00
2 changed files with 16 additions and 1 deletions

View file

@ -62,6 +62,7 @@ Requirements:
- Platform
- ✅ Major Linux distros such as Debian, Ubuntu, CentOS, Fedora and ArchLinux etc.
- ✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher
- ❌ FreeBSD / OpenBSD / NetBSD
- ❌ Replit / Heroku
- [Node.js](https://nodejs.org/en/download/) 18 / 20.4
- [npm](https://docs.npmjs.com/cli/) 9

View file

@ -228,6 +228,20 @@ async function testRemoteBrowser(remoteBrowserURL) {
throw new Error(e.message);
}
}
/**
* Cleanup function to terminate all browser processes and clear cache after each monitoring check.
* @param {import ("playwright-core").Page} page The page to close
* @returns {Promise<void>}
*/
async function cleanupBrowser(page) {
if (page) {
await page.context().clearCookies();
await page.context().clearPermissions();
await page.close();
}
}
class RealBrowserMonitorType extends MonitorType {
name = "real-browser";
@ -259,7 +273,7 @@ class RealBrowserMonitorType extends MonitorType {
path: path.join(Database.screenshotDir, filename),
});
await context.close();
await cleanupBrowser(page); // Ensure cleanup is called after each monitoring check
if (res.status() >= 200 && res.status() < 400) {
heartbeat.status = UP;