This commit is contained in:
2024-10-15 21:51:28 +02:00
parent 3bf0443571
commit fd29b0d35d
10 changed files with 160 additions and 37 deletions

View File

@@ -2,7 +2,7 @@ import { sortJsonArrayByKey } from "Library.js";
/** @param {NS} ns */
export async function main(ns) {
ns.tail();
//ns.tail();
ns.disableLog("ALL");
const sScript = ns.args[0]; // script
let nThreads = ns.args[1]; // threads
@@ -19,7 +19,13 @@ export async function main(ns) {
if (!ns.fileExists(sListName, "home")) { ns.print(`ERROR ${sListName} does not exist.`); return false; };
let sServerList = ns.read(sListName);
let aSortedList = sortJsonArrayByKey(sServerList, "serverCores", "maxRam").reverse();
let aSortedList;
if (sScript === sWeakenScript || sScript === sGrowScript) {
aSortedList = sortJsonArrayByKey(sServerList, "serverCores", "maxRam").reverse();
} else {
aSortedList = sortJsonArrayByKey(sServerList, "serverCores", "maxRam");
}
//ns.tprint(aSortedList);
ns.print(sScript);
ns.print(nThreads);
@@ -52,15 +58,16 @@ export async function main(ns) {
aSortedList.forEach((entry) => {
let sHost = entry.serverName;
ns.print("sHost = " + sHost)
ns.scp(sScript, sHost);
let nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName);
if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nTotalSize) {
ns.scp(sScript, sHost);
ns.exec(sScript, sHost, nThreads, sTarget, bRepeat, nMsecDelay);
nThreads = 0;
nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName);
}
else if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nScriptSize){
else if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nScriptSize) {
let nThreadsDist = Math.floor(nFreeRAM / nScriptSize);
ns.scp(sScript, sHost);
ns.print("room for : " + nThreadsDist + " scripts");
ns.exec(sScript, sHost, nThreadsDist, sTarget, bRepeat, nMsecDelay);
nThreads -= nThreadsDist;