mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-12-26 22:19:43 -08:00
afterLogin change to non blocking
This commit is contained in:
parent
50f300dd28
commit
46cb955172
|
@ -150,7 +150,7 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
|
|||
if (user) {
|
||||
debug("afterLogin")
|
||||
|
||||
await afterLogin(socket, user)
|
||||
afterLogin(socket, user)
|
||||
|
||||
debug("afterLogin ok")
|
||||
|
||||
|
@ -178,7 +178,7 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
|
|||
let user = await login(data.username, data.password)
|
||||
|
||||
if (user) {
|
||||
await afterLogin(socket, user)
|
||||
afterLogin(socket, user)
|
||||
|
||||
callback({
|
||||
ok: true,
|
||||
|
@ -561,7 +561,7 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
|
|||
debug("check auto login")
|
||||
if (await setting("disableAuth")) {
|
||||
console.log("Disabled Auth: auto login to admin")
|
||||
await afterLogin(socket, await R.findOne("user"))
|
||||
afterLogin(socket, await R.findOne("user"))
|
||||
socket.emit("autoLogin")
|
||||
} else {
|
||||
debug("need auth")
|
||||
|
@ -621,6 +621,8 @@ async function sendMonitorList(socket) {
|
|||
}
|
||||
|
||||
async function sendNotificationList(socket) {
|
||||
const timeLogger = new TimeLogger();
|
||||
|
||||
let result = [];
|
||||
let list = await R.find("notification", " user_id = ? ", [
|
||||
socket.userID,
|
||||
|
@ -631,6 +633,9 @@ async function sendNotificationList(socket) {
|
|||
}
|
||||
|
||||
io.to(socket.userID).emit("notificationList", result)
|
||||
|
||||
timeLogger.print("Send Notification List");
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
@ -639,24 +644,27 @@ async function afterLogin(socket, user) {
|
|||
socket.join(user.id)
|
||||
|
||||
let monitorList = await sendMonitorList(socket)
|
||||
|
||||
sendNotificationList(socket)
|
||||
|
||||
// Delay a bit, so that it let the main page to query the data first, since SQLite can process one sql at the same time only.
|
||||
// For example, query the edit data first.
|
||||
setTimeout(async () => {
|
||||
for (let monitorID in monitorList) {
|
||||
sendHeartbeatList(socket, monitorID);
|
||||
sendImportantHeartbeatList(socket, monitorID);
|
||||
Monitor.sendStats(io, monitorID, user.id)
|
||||
}
|
||||
}, 500);
|
||||
await sleep(500);
|
||||
|
||||
for (let monitorID in monitorList) {
|
||||
await sendHeartbeatList(socket, monitorID);
|
||||
}
|
||||
|
||||
for (let monitorID in monitorList) {
|
||||
await sendImportantHeartbeatList(socket, monitorID);
|
||||
}
|
||||
|
||||
for (let monitorID in monitorList) {
|
||||
await Monitor.sendStats(io, monitorID, user.id)
|
||||
}
|
||||
}
|
||||
|
||||
async function getMonitorJSONList(userID) {
|
||||
let result = {};
|
||||
|
||||
let monitorList = await R.find("monitor", " user_id = ? ", [
|
||||
let monitorList = await R.find("monitor", " user_id = ? ORDER BY weight DESC, name", [
|
||||
userID,
|
||||
])
|
||||
|
||||
|
@ -786,6 +794,8 @@ async function sendHeartbeatList(socket, monitorID) {
|
|||
}
|
||||
|
||||
socket.emit("heartbeatList", monitorID, result)
|
||||
|
||||
timeLogger.print(`[Monitor: ${monitorID}] sendHeartbeatList`)
|
||||
}
|
||||
|
||||
async function sendImportantHeartbeatList(socket, monitorID) {
|
||||
|
|
Loading…
Reference in a new issue