|
@ -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(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|