Skip to content

Commit

Permalink
Merge pull request #356 from opensourcepledge/vladh/retry-member-data…
Browse files Browse the repository at this point in the history
…-urls

check-member-data: Try member URLs multiple times before failing
  • Loading branch information
chadwhitacre authored Mar 3, 2025
2 parents 0a79658 + 7882947 commit c607d2b
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions src/memberData/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,26 +120,46 @@ export function isReportOverdue(member: Member) {
}

export async function isMemberUrlNotRetrievable(member: Member) {
try {
const res = await fetch(member.url, { method: 'HEAD' })
if (res.status != 200) {
return true;
const MAX_N_ATTEMPTS = 5;
let n_attempts = 0;
while (true) {
try {
console.log(`GET ${member.url}`);
const res = await fetch(member.url, { method: 'HEAD' })
if (res.status != 200) {
throw new Error(`Status code was ${res.status}`);
}
break;
} catch (e) {
n_attempts += 1;
if (n_attempts >= MAX_N_ATTEMPTS) {
return true;
}
await new Promise(r => setTimeout(r, 2000));
}
} catch (e) {
return true;
}
return false;
}

export async function isReportUrlNotRetrievable(member: Member) {
for (const report of member.annualReports) {
try {
const res = await fetch(report.url, { method: 'HEAD' })
if (res.status != 200) {
return true;
const MAX_N_ATTEMPTS = 5;
let n_attempts = 0;
while (true) {
try {
console.log(`GET ${report.url}`);
const res = await fetch(report.url, { method: 'HEAD' })
if (res.status != 200) {
throw new Error(`Status code was ${res.status}`);
}
break;
} catch (e) {
n_attempts += 1;
if (n_attempts >= MAX_N_ATTEMPTS) {
return true;
}
await new Promise(r => setTimeout(r, 2000));
}
} catch (e) {
return true;
}
}
return false;
Expand Down

0 comments on commit c607d2b

Please sign in to comment.