mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
Merge pull request #362 from Hitjack007/discover-ids-await-loop
This commit is contained in:
2 files changed
+10
-7
No files matched your search
@@ -135,7 +135,7 @@ let regionI = 0;
|
|||||||
|
|
||||||
console.log("Starting discovery loop...");
|
console.log("Starting discovery loop...");
|
||||||
|
|
||||||
atMaxRate(async ({ _break: break1 }) => {
|
await atMaxRate(async ({ _break: break1 }) => {
|
||||||
if (regions.length === 0) {
|
if (regions.length === 0) {
|
||||||
console.log("All regions exhausted, exiting discovery loop...");
|
console.log("All regions exhausted, exiting discovery loop...");
|
||||||
return break1();
|
return break1();
|
||||||
@@ -166,7 +166,6 @@ atMaxRate(async ({ _break: break1 }) => {
|
|||||||
fields
|
fields
|
||||||
}&account_id=${accountIds}`;
|
}&account_id=${accountIds}`;
|
||||||
|
|
||||||
atMaxRate(async ({ _break: break2 }) => {
|
|
||||||
if (idRange.length < MAX_IDS_PER_CALL) {
|
if (idRange.length < MAX_IDS_PER_CALL) {
|
||||||
console.log(
|
console.log(
|
||||||
`Removing region ${region.domain} removed due to ID range exhaustion...`,
|
`Removing region ${region.domain} removed due to ID range exhaustion...`,
|
||||||
@@ -174,10 +173,12 @@ atMaxRate(async ({ _break: break1 }) => {
|
|||||||
regions.splice(regionI, 1);
|
regions.splice(regionI, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
const response = await fetch(url);
|
await atMaxRate(async ({ _break: break2 }) => {
|
||||||
const data = (await response.json()) as QuickInfo;
|
const data = await fetch(url)
|
||||||
|
.then((response) => response.json() as Promise<QuickInfo>)
|
||||||
|
.catch(() => null);
|
||||||
|
|
||||||
if (data.status !== "ok") {
|
if (data === null || data.status !== "ok") {
|
||||||
console.warn("Failed API call; trying again...");
|
console.warn("Failed API call; trying again...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ interface MethodContext {
|
|||||||
let lastT = 0;
|
let lastT = 0;
|
||||||
const maxDelta = 1000 / API_RATE;
|
const maxDelta = 1000 / API_RATE;
|
||||||
const DELTA_BUFFER = 0;
|
const DELTA_BUFFER = 0;
|
||||||
export async function atMaxRate(method: (context: MethodContext) => void) {
|
export async function atMaxRate(
|
||||||
|
method: (context: MethodContext) => void | Promise<void>,
|
||||||
|
) {
|
||||||
let isBroken = false;
|
let isBroken = false;
|
||||||
|
|
||||||
const context: MethodContext = {
|
const context: MethodContext = {
|
||||||
@@ -39,7 +41,7 @@ export async function atMaxRate(method: (context: MethodContext) => void) {
|
|||||||
await sleep(maxDelta - delta + DELTA_BUFFER);
|
await sleep(maxDelta - delta + DELTA_BUFFER);
|
||||||
}
|
}
|
||||||
|
|
||||||
method(context);
|
await method(context);
|
||||||
lastT = t;
|
lastT = t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user