mirror of
https://github.com/HirziDevs/PteroStats
synced 2026-01-08 23:23:34 +00:00
Fix if nodes is down the stats not updated
This commit is contained in:
@@ -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)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -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 })
|
||||
|
||||
Reference in New Issue
Block a user