mirror of
https://github.com/smartyellow/status.git
synced 2025-06-28 04:35:11 +00:00
@ -4,6 +4,8 @@ const { makeId } = require('core/makeid');
|
||||
|
||||
const decoder = new TextDecoder('utf-8');
|
||||
let uws;
|
||||
let downIdsBefore = [];
|
||||
let downIdsAfter = [];
|
||||
|
||||
const mapService = (s, beat) => ({
|
||||
id: s.id,
|
||||
@ -30,7 +32,7 @@ async function createDashboardSocket(server) {
|
||||
const servicesUp = [];
|
||||
const servicesDown = [];
|
||||
const servicesUnknown = [];
|
||||
console.log(heartbeats);
|
||||
downIdsAfter = [];
|
||||
|
||||
for (let service of services) {
|
||||
const beat = heartbeats.find(b => b.webservice === service.id);
|
||||
@ -41,6 +43,7 @@ async function createDashboardSocket(server) {
|
||||
}
|
||||
else if (beat.down) {
|
||||
servicesDown.push(service);
|
||||
downIdsAfter.push(service.id);
|
||||
}
|
||||
else {
|
||||
servicesUp.push(service);
|
||||
@ -53,7 +56,19 @@ async function createDashboardSocket(server) {
|
||||
...servicesUnknown,
|
||||
].length;
|
||||
|
||||
let newOutage = false;
|
||||
for (const id of downIdsAfter) {
|
||||
if (!downIdsBefore.includes(id)) {
|
||||
newOutage = true;
|
||||
}
|
||||
}
|
||||
downIdsBefore = JSON.parse(JSON.stringify(downIdsAfter));
|
||||
|
||||
try {
|
||||
if (newOutage) {
|
||||
ws.send(JSON.stringify({ cmd: 'bell' }));
|
||||
}
|
||||
|
||||
ws.send(JSON.stringify({
|
||||
cmd: 'data',
|
||||
servicesUp,
|
||||
|
Reference in New Issue
Block a user