From 209e44c2e148204884e0f9fcf3f344c896c01721 Mon Sep 17 00:00:00 2001 From: LouisLam Date: Thu, 19 Aug 2021 18:41:31 +0800 Subject: [PATCH] prevent all monitors making requests at the same moment when start the server --- server/server.js | 4 +++- src/components/HeartbeatBar.vue | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/server/server.js b/server/server.js index e6511762..89d2f435 100644 --- a/server/server.js +++ b/server/server.js @@ -755,9 +755,11 @@ async function startMonitors() { let list = await R.find("monitor", " active = 1 ") for (let monitor of list) { - monitor.start(io); monitorList[monitor.id] = monitor; + } + for (let monitor of list) { + monitor.start(io); // Give some delays, so all monitors won't make request at the same moment when just start the server. await sleep(getRandomInt(300, 1000)); } diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue index 1f4ec1e0..857fc68c 100644 --- a/src/components/HeartbeatBar.vue +++ b/src/components/HeartbeatBar.vue @@ -43,7 +43,11 @@ export default { }, shortBeatList() { - let placeholders = [] + if (! this.beatList) { + return []; + } + + let placeholders = []; let start = this.beatList.length - this.maxBeat;