Compare commits

..

2 Commits

2 changed files with 31 additions and 2 deletions

View File

@@ -260,6 +260,8 @@ export function listWorkServers(ns) {
const sFileName = "serverList.txt"; const sFileName = "serverList.txt";
if (!ns.fileExists(sFileName, "home")) { ns.print(`ERROR ${sFileName} does not exist.`); return false; }; if (!ns.fileExists(sFileName, "home")) { ns.print(`ERROR ${sFileName} does not exist.`); return false; };
let serverList = JSON.parse(ns.read(sFileName)); let serverList = JSON.parse(ns.read(sFileName));
ns.tprint(serverList);
//const oList = sortDataByNestedKey(serverList, 'serverCores');
let nTotalWorkerRAM = 0; let nTotalWorkerRAM = 0;
let nTotalFreeRAM = 0; let nTotalFreeRAM = 0;
@@ -271,7 +273,7 @@ export function listWorkServers(ns) {
ns.printRaw("┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓"); ns.printRaw("┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓");
ns.printRaw("┃ Server ┃ Free / Max RAM ┃ Cores ┃"); ns.printRaw("┃ Server ┃ Free / Max RAM ┃ Cores ┃");
ns.printRaw("┣━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫"); ns.printRaw("┣━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫");
for (const [name, entry] of Object.entries(serverList)) { for (const [name, entry] of Object.entries(oList)) {
if (entry.rootAccess && entry.maxRam >= 1) { if (entry.rootAccess && entry.maxRam >= 1) {
let sServerName = entry.serverName.padEnd(nServerColumnWidth, ' '); let sServerName = entry.serverName.padEnd(nServerColumnWidth, ' ');
let nFreeRAM = entry.maxRam - ns.getServerUsedRam(entry.serverName); let nFreeRAM = entry.maxRam - ns.getServerUsedRam(entry.serverName);
@@ -284,5 +286,18 @@ export function listWorkServers(ns) {
} }
} }
ns.printRaw("┗━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛"); ns.printRaw("┗━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛");
ns.printRaw(`Total Free: ${nTotalFreeRAM} / ${nTotalWorkerRAM} GB`); ns.printRaw(`Total Free: ${nTotalFreeRAM.toLocaleString()} / ${nTotalWorkerRAM.toLocaleString()} GB`);
}
function sortDataByNestedKey(data, key) {
return data.sort((a, b) => {
const aValue = Object.values(a)[0][key];
const bValue = Object.values(b)[0][key];
if (typeof aValue === 'string') {
return aValue.localeCompare(bValue);
} else {
return aValue - bValue;
}
});
} }

View File

@@ -0,0 +1,14 @@
/** @param {NS} ns */
export async function main(ns) {
const sScript = ns.args[0]; // script
const nThreads = ns.args[1]; // threads
const sArgs = [...arguments];
for (i = 0; ; i++) {
let sHost = "";
ns.exec(sScript, sHost, nThreads);
}
}