fixed uptime calculation

This commit is contained in:
Xargana 2025-04-08 17:20:17 +03:00
parent f43a46b20a
commit 3ca2226494

View file

@ -47,44 +47,47 @@ async function checkServers() {
} }
async function checkPM2Services() { async function checkPM2Services() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
pm2.connect(function(err) { pm2.connect(function(err) {
if (err) { if (err) {
console.error('Error connecting to PM2:', err); console.error('Error connecting to PM2:', err);
pm2.disconnect(); pm2.disconnect();
resolve(); resolve();
return; return;
} }
pm2.list((err, list) => { pm2.list((err, list) => {
if (err) { if (err) {
console.error('Error getting PM2 process list:', err); console.error('Error getting PM2 process list:', err);
pm2.disconnect(); pm2.disconnect();
resolve(); resolve();
return; return;
} }
// Update PM2 services status // Update PM2 services status
list.forEach(process => { list.forEach(process => {
pm2ServicesStatus[process.name] = { // Calculate uptime correctly - pm_uptime is a timestamp, not a duration
name: process.name, const uptimeMs = process.pm2_env.pm_uptime ?
id: process.pm_id, Date.now() - process.pm2_env.pm_uptime :
status: process.pm2_env.status, null;
cpu: process.monit ? process.monit.cpu : null,
memory: process.monit ? process.monit.memory : null, pm2ServicesStatus[process.name] = {
uptime: process.pm2_env.pm_uptime ? name: process.name,
Date.now() - process.pm2_env.pm_uptime : id: process.pm_id,
null, status: process.pm2_env.status,
restarts: process.pm2_env.restart_time, cpu: process.monit ? process.monit.cpu : null,
lastChecked: new Date().toISOString() memory: process.monit ? process.monit.memory : null,
}; uptime: uptimeMs, // Store the uptime in milliseconds
}); restarts: process.pm2_env.restart_time,
lastChecked: new Date().toISOString()
pm2.disconnect(); };
resolve(); });
});
}); pm2.disconnect();
}); resolve();
});
});
});
} }
async function checkAll() { async function checkAll() {