mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-23 14:54:05 +00:00
Compare commits
7 commits
1e635257dc
...
8c84ae3baf
Author | SHA1 | Date | |
---|---|---|---|
|
8c84ae3baf | ||
|
8a432ac937 | ||
|
4e667c9adb | ||
|
617634f2af | ||
|
124f5a471a | ||
|
a87b833a5a | ||
|
caa8dd8ec2 |
2 changed files with 25 additions and 7 deletions
|
@ -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";
|
||||
|
@ -251,7 +265,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;
|
||||
|
|
|
@ -220,13 +220,17 @@ module.exports.statusPageSocketHandler = (socket) => {
|
|||
|
||||
// Delete groups that are not in the list
|
||||
log.debug("socket", "Delete groups that are not in the list");
|
||||
const slots = groupIDList.map(() => "?").join(",");
|
||||
if (groupIDList.length === 0) {
|
||||
await R.exec("DELETE FROM `group` WHERE status_page_id = ?", [ statusPage.id ]);
|
||||
} else {
|
||||
const slots = groupIDList.map(() => "?").join(",");
|
||||
|
||||
const data = [
|
||||
...groupIDList,
|
||||
statusPage.id
|
||||
];
|
||||
await R.exec(`DELETE FROM \`group\` WHERE id NOT IN (${slots}) AND status_page_id = ?`, data);
|
||||
const data = [
|
||||
...groupIDList,
|
||||
statusPage.id
|
||||
];
|
||||
await R.exec(`DELETE FROM \`group\` WHERE id NOT IN (${slots}) AND status_page_id = ?`, data);
|
||||
}
|
||||
|
||||
const server = UptimeKumaServer.getInstance();
|
||||
|
||||
|
|
Loading…
Reference in a new issue