Merge pull request #19779 from overleaf/jpa-e2e-retries

[server-pro] tests: add 5 retries to host-admin requests

GitOrigin-RevId: 1a1df58c37b14139e09c66d3306d04b4bc667690
This commit is contained in:
Jakob Ackermann 2024-08-06 11:10:24 +02:00 committed by Copybot
parent 37f486ca9a
commit 051089d466

View file

@ -35,7 +35,18 @@ async function fetchJSON<T = { stdout: string; stderr: string }>(
if (init?.body) { if (init?.body) {
init.headers = { 'Content-Type': 'application/json' } init.headers = { 'Content-Type': 'application/json' }
} }
const res = await fetch(input, init) let res
for (let attempt = 0; attempt < 5; attempt++) {
try {
res = await fetch(input, init)
break
} catch {
await sleep(3_000)
}
}
if (!res) {
res = await fetch(input, init)
}
const { error, stdout, stderr, ...rest } = await res.json() const { error, stdout, stderr, ...rest } = await res.json()
if (error) { if (error) {
console.error(input, init, 'failed:', error) console.error(input, init, 'failed:', error)
@ -73,3 +84,9 @@ export async function getRedisKeys() {
}) })
return stdout.split('\n') return stdout.split('\n')
} }
async function sleep(ms: number) {
return new Promise(resolve => {
setTimeout(resolve, ms)
})
}