mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-08-09 03:09:39 +08:00
init
This commit is contained in:
33
server/model/monitor.js
Normal file
33
server/model/monitor.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const dayjs = require("dayjs");
|
||||
const {BeanModel} = require("redbean-node/dist/bean-model");
|
||||
|
||||
class Monitor extends BeanModel {
|
||||
|
||||
toJSON() {
|
||||
return {
|
||||
id: this.id,
|
||||
name: this.name,
|
||||
url: this.url,
|
||||
upRate: this.upRate,
|
||||
active: this.active,
|
||||
type: this.type,
|
||||
interval: this.interval,
|
||||
};
|
||||
}
|
||||
|
||||
start(io) {
|
||||
const beat = () => {
|
||||
console.log(`Monitor ${this.id}: Heartbeat`)
|
||||
io.to(this.user_id).emit("heartbeat", dayjs().unix());
|
||||
}
|
||||
|
||||
beat();
|
||||
this.heartbeatInterval = setInterval(beat, this.interval * 1000);
|
||||
}
|
||||
|
||||
stop() {
|
||||
clearInterval(this.heartbeatInterval)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Monitor;
|
Reference in New Issue
Block a user