fixes mostly related to WorkerList.js
This commit is contained in:
@@ -253,3 +253,36 @@ export async function RunAndWait(ns, sScript, ...args) {
|
||||
if (!ns.isRunning(sScript, ...args)) { ns.run(sScript, ...args); }
|
||||
while (ns.isRunning(sScript, ...args)) { await ns.sleep(100); }
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
export function listWorkServers(ns) {
|
||||
ns.disableLog("ALL");
|
||||
|
||||
|
||||
//if (!ns.fileExists("serverList.txt", "home")) { scanServerList() };
|
||||
let serverList = JSON.parse(ns.read("serverList.txt"));
|
||||
let nTotalWorkerRAM = 0;
|
||||
let nTotalFreeRAM = 0;
|
||||
|
||||
const nServerColumnWidth = 20;
|
||||
const nValueColumnWidth = 8;
|
||||
const nCoresWidth = 5;
|
||||
|
||||
ns.printRaw("┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓");
|
||||
ns.printRaw("┃ Server ┃ Free / Max RAM ┃ Cores ┃");
|
||||
ns.printRaw("┣━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫");
|
||||
for (const [name, entry] of Object.entries(serverList)) {
|
||||
if (entry.rootAccess && entry.maxRam >= 1) {
|
||||
let sServerName = entry.serverName.padEnd(nServerColumnWidth, ' ');
|
||||
let nFreeRAM = entry.maxRam - ns.getServerUsedRam(entry.serverName);
|
||||
let sFreeRAM = nFreeRAM.toLocaleString().padStart(nValueColumnWidth, ' ');
|
||||
let sMaxRam = entry.maxRam.toLocaleString().padStart(nValueColumnWidth, ' ');
|
||||
let sCores = entry.serverCores.toLocaleString().padStart(nCoresWidth, ' ');
|
||||
ns.printRaw(`┃ ${sServerName} ┃ ${sFreeRAM} / ${sMaxRam} ┃ ${sCores} ┃`);
|
||||
nTotalWorkerRAM += entry.maxRam;
|
||||
nTotalFreeRAM += nFreeRAM;
|
||||
}
|
||||
}
|
||||
ns.printRaw("┗━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛");
|
||||
ns.printRaw(`Total Free: ${nTotalFreeRAM} / ${nTotalWorkerRAM} GB`);
|
||||
}
|
||||
Reference in New Issue
Block a user