prevent monitor dead for unexpected error

This commit is contained in:
Louis Lam 2021-10-27 14:08:44 +08:00
parent 234fba3978
commit 640b6e5b1c

View file

@ -387,18 +387,32 @@ class Monitor extends BeanModel {
}
}
this.heartbeatInterval = setTimeout(beat, beatInterval * 1000);
this.heartbeatInterval = setTimeout(safeBeat, beatInterval * 1000);
}
};
const safeBeat = async () => {
try {
await beat();
} catch (e) {
console.trace(e);
console.error("Please report to https://github.com/louislam/uptime-kuma/issues");
if (! this.isStop) {
console.log("Try to restart the monitor");
this.heartbeatInterval = setTimeout(safeBeat, this.interval * 1000);
}
}
};
// Delay Push Type
if (this.type === "push") {
setTimeout(() => {
beat();
safeBeat();
}, this.interval * 1000);
} else {
beat();
safeBeat();
}
}