mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-27 08:44:04 +00:00
Compare commits
7 commits
8c84ae3baf
...
5773925194
Author | SHA1 | Date | |
---|---|---|---|
|
5773925194 | ||
|
4228dd0a29 | ||
|
4e667c9adb | ||
|
617634f2af | ||
|
124f5a471a | ||
|
a87b833a5a | ||
|
caa8dd8ec2 |
2 changed files with 22 additions and 5 deletions
|
@ -228,6 +228,20 @@ async function testRemoteBrowser(remoteBrowserURL) {
|
||||||
throw new Error(e.message);
|
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 {
|
class RealBrowserMonitorType extends MonitorType {
|
||||||
|
|
||||||
name = "real-browser";
|
name = "real-browser";
|
||||||
|
@ -251,7 +265,7 @@ class RealBrowserMonitorType extends MonitorType {
|
||||||
path: path.join(Database.screenshotDir, filename),
|
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) {
|
if (res.status() >= 200 && res.status() < 400) {
|
||||||
heartbeat.status = UP;
|
heartbeat.status = UP;
|
||||||
|
|
|
@ -1443,11 +1443,14 @@ message HealthCheckResponse {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.monitor.type === "snmp") {
|
// Set a default timeout if the monitor type has changed or if it's a new monitor
|
||||||
|
if (oldType || this.isAdd) {
|
||||||
|
if (this.monitor.type === "snmp") {
|
||||||
// snmp is not expected to be executed via the internet => we can choose a lower default timeout
|
// snmp is not expected to be executed via the internet => we can choose a lower default timeout
|
||||||
this.monitor.timeout = 5;
|
this.monitor.timeout = 5;
|
||||||
} else {
|
} else {
|
||||||
this.monitor.timeout = 48;
|
this.monitor.timeout = 48;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set default SNMP version
|
// Set default SNMP version
|
||||||
|
|
Loading…
Reference in a new issue