Fix if nodes is down the stats not updated

This commit is contained in:
Hirzi
2022-06-30 11:25:02 +07:00
committed by GitHub
parent d919cd370d
commit eff98bb8d2
2 changed files with 15 additions and 6 deletions

View File

@@ -104,6 +104,7 @@ module.exports = function checkStatus(client) {
}
const stats = new Promise((statsResolve, statsReject) => {
let done = false
axios(node.attributes.scheme + '://' + node.attributes.fqdn + ':' + node.attributes.daemon_listen + '/api/servers', {
method: 'GET',
headers: {
@@ -112,15 +113,21 @@ module.exports = function checkStatus(client) {
Authorization: 'Bearer ' + data.data.token
}
}).then((status) => {
done = true
statsResolve()
}).catch((err) => {
body.status = false
done = true
statsResolve()
})
setTimeout(() => {
if (!done) body.status = false
statsResolve()
}, 1000)
})
stats.then(() => {
nodes.push(body)
if (i + 1 === res.data.data.length) resolve()
if (nodes.length === res.data.data.length) resolve()
})
}).catch((err) => {
resolve()
@@ -133,6 +140,7 @@ module.exports = function checkStatus(client) {
panelStats.then(() => {
nodeStats.then(() => {
nodes.sort(function (a, b) { return a.id - b.id })
postStatus(client, panel, nodes)
})
})

View File

@@ -27,6 +27,12 @@ module.exports = async function postStatus(client, panel, nodes) {
let desc = ''
let blacklist = 0
let content = null
const files = []
if (client.config.message.content) content = client.config.message.content
if (client.config.message.image) files.push(new MessageAttachment(client.config.message.image))
if (client.config.embed.title) embed.setTitle(client.config.embed.title)
if (client.config.embed.description) desc = client.config.embed.description + '\n'
if (client.config.embed.color) embed.setColor(client.config.embed.color)
@@ -155,11 +161,6 @@ module.exports = async function postStatus(client, panel, nodes) {
}
row.push(button)
}
let content = null
const files = []
if (client.config.message.content) content = client.config.message.content
if (client.config.message.image) files.push(new MessageAttachment(client.config.message.image))
if (!messages) channel.send({ content: content, embeds: [embed], components: row, files: files })
else messages.edit({ content: content, embeds: [embed], components: row, files: files })