Add queued image jobs to server selection logic

This commit is contained in:
Essem 2021-09-01 00:21:13 -05:00
parent 2421c310e3
commit fec3d7303c
No known key found for this signature in database
GPG key ID: 7D497397CC3A2A8C
2 changed files with 12 additions and 3 deletions

View file

@ -87,6 +87,10 @@ class ImageWorker extends BaseServiceWorker {
if (ideal.length === 0) throw "No available servers";
const sorted = ideal.sort((a, b) => {
return b.load - a.load;
}).filter((e, i, array) => {
return !(e.load < array[0].load);
}).sort((a, b) => {
return a.queued - b.queued;
});
return sorted[0];
}
@ -123,11 +127,12 @@ class ImageWorker extends BaseServiceWorker {
}
});
clearTimeout(timeout);
const status = await statusRequest.text();
const status = await statusRequest.json();
serversLeft--;
idealServers.push({
addr: address,
load: parseInt(status)
load: status.load,
queued: status.queued
});
} catch (e) {
if (e.name === "AbortError") {