update: implement dynamic loop delay for spawner cycles
This commit is contained in:
parent
721eb439e7
commit
31af5dd592
14
index.js
14
index.js
@ -9,7 +9,8 @@ require("dotenv").config();
|
|||||||
|
|
||||||
const logs = [];
|
const logs = [];
|
||||||
const MAX_LOGS = 200;
|
const MAX_LOGS = 200;
|
||||||
const LOOP_DELAY_MS = 60_000;
|
const LOOP_DELAY_MIN_MS = 5 * 60_000;
|
||||||
|
const LOOP_DELAY_MAX_MS = 10 * 60_000;
|
||||||
const MAX_ALLOWED_MOVE_BLOCKS = 10;
|
const MAX_ALLOWED_MOVE_BLOCKS = 10;
|
||||||
const LOOP_RESUME_TOLERANCE_BLOCKS = 1.5;
|
const LOOP_RESUME_TOLERANCE_BLOCKS = 1.5;
|
||||||
const REJOIN_DELAY_MS = 60_000;
|
const REJOIN_DELAY_MS = 60_000;
|
||||||
@ -427,6 +428,11 @@ function sleep(ms) {
|
|||||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getRandomLoopDelayMs() {
|
||||||
|
const span = LOOP_DELAY_MAX_MS - LOOP_DELAY_MIN_MS;
|
||||||
|
return LOOP_DELAY_MIN_MS + Math.floor(Math.random() * (span + 1));
|
||||||
|
}
|
||||||
|
|
||||||
function stopSpawnerLoop(reason, options = {}) {
|
function stopSpawnerLoop(reason, options = {}) {
|
||||||
if (!spawnerLoopRunning) return;
|
if (!spawnerLoopRunning) return;
|
||||||
spawnerLoopRunning = false;
|
spawnerLoopRunning = false;
|
||||||
@ -1208,8 +1214,10 @@ function startSpawnerLoop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!spawnerLoopRunning) break;
|
if (!spawnerLoopRunning) break;
|
||||||
pushLog("waiting 60s for next cycle");
|
const waitMs = getRandomLoopDelayMs();
|
||||||
await sleep(LOOP_DELAY_MS);
|
const waitMinutes = (waitMs / 60_000).toFixed(2);
|
||||||
|
pushLog(`waiting ${waitMinutes} min for next cycle`);
|
||||||
|
await sleep(waitMs);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user