|
|
@ -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
|
|
|
|
// Delay Push Type
|
|
|
|
if (this.type === "push") {
|
|
|
|
if (this.type === "push") {
|
|
|
|
setTimeout(() => {
|
|
|
|
setTimeout(() => {
|
|
|
|
beat();
|
|
|
|
safeBeat();
|
|
|
|
}, this.interval * 1000);
|
|
|
|
}, this.interval * 1000);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
beat();
|
|
|
|
safeBeat();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|