mirror of
https://github.com/aws-actions/configure-aws-credentials.git
synced 2026-06-09 01:47:04 +00:00
feat: Improve debug logging in retry logic (#1485)
This commit is contained in:
parent
1b22251287
commit
9aa437c71f
1 changed files with 15 additions and 4 deletions
|
|
@ -185,15 +185,26 @@ export async function retryAndBackoff<T>(
|
|||
return await fn();
|
||||
} catch (err) {
|
||||
if (!isRetryable) {
|
||||
core.debug(`retryAndBackoff: error is not retryable: ${errorMessage(err)}`);
|
||||
throw err;
|
||||
}
|
||||
// It's retryable, so sleep and retry.
|
||||
await sleep(Math.random() * (2 ** retries * base));
|
||||
retries += 1;
|
||||
if (retries >= maxRetries) {
|
||||
const delay = Math.random() * (2 ** retries * base);
|
||||
const nextRetry = retries + 1;
|
||||
|
||||
core.debug(
|
||||
`retryAndBackoff: attempt ${nextRetry} of ${maxRetries} failed: ${errorMessage(err)}. ` +
|
||||
`Retrying after ${Math.floor(delay)}ms.`,
|
||||
);
|
||||
|
||||
await sleep(delay);
|
||||
|
||||
if (nextRetry >= maxRetries) {
|
||||
core.debug('retryAndBackoff: reached max retries; giving up.');
|
||||
throw err;
|
||||
}
|
||||
return await retryAndBackoff(fn, isRetryable, maxRetries, retries, base);
|
||||
|
||||
return await retryAndBackoff(fn, isRetryable, maxRetries, nextRetry, base);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue