little benchmark console feedback

This commit is contained in:
Ruben Fiszel
2022-10-18 20:42:16 +02:00
parent 8aa4c7691b
commit c5e6607e5f
2 changed files with 26 additions and 0 deletions
+18
View File
@@ -212,12 +212,30 @@ await new Command()
});
}
let start: number | undefined = undefined;
let jobSent = Array(num_workers).fill(0);
const enc = (s: string) => new TextEncoder().encode(s);
const i = setInterval(async () => {
const elapsed = start ? Math.ceil((Date.now() - start) / 1000) : 0;
await Deno.stdout.write(enc(`elapsed: ${elapsed}/${seconds} | jobs sent: ${JSON.stringify(jobSent)}\r`))
}, 100);
workers.forEach((worker, i) => {
worker.postMessage({ ...shared_config, i });
worker.addEventListener("message", (evt: MessageEvent<any>) => {
jobSent[i] = evt.data
})
});
start = Date.now();
await sleep(seconds);
clearInterval(i);
await Deno.stdout.write(enc(` \rduration: ${seconds} | jobs sent: ${JSON.stringify(jobSent)}\n`));
let zombie_jobs = 0;
workers.forEach((worker) => {
const l = (evt: MessageEvent<any>) => {
+8
View File
@@ -48,6 +48,12 @@ self.onmessage = (evt) => {
complete_timeout = evt.data;
};
const updateStatusInterval = setInterval(() => {
self.postMessage(total_spawned);
}, 100)
while (cont) {
if ((await jobApi.listQueue(config.workspace_id)).length > 500) {
console.log("queue very long. waiting...");
@@ -100,6 +106,8 @@ while (cont) {
total_spawned++;
}
clearInterval(updateStatusInterval);
const end_time = Date.now() + complete_timeout;
while (outstanding.length > 0 && Date.now() < end_time) {
const uuid = outstanding.shift()!;