(
attempt: number,
log: Logger,
message: string,
status?: number,
)
| 227 | } |
| 228 | |
| 229 | async function retryWithBackoff( |
| 230 | attempt: number, |
| 231 | log: Logger, |
| 232 | message: string, |
| 233 | status?: number, |
| 234 | ): Promise<void> { |
| 235 | const delay = exponentialBackoffDelay(attempt, { |
| 236 | minDelay: MIN_DELAY, |
| 237 | maxDelay: MAX_DELAY, |
| 238 | maxAttempts: MAX_RETRIES, |
| 239 | }); |
| 240 | |
| 241 | const logData = status ? { status, attempt, delay } : { attempt, delay }; |
| 242 | |
| 243 | log.warn(`${message}: attempt={attempt} delay={delay}ms`, logData); |
| 244 | await new Promise((resolve) => setTimeout(resolve, delay)); |
| 245 | } |
| 246 | |
| 247 | async function delayForRetry(attempt: number): Promise<void> { |
| 248 | const delay = exponentialBackoffDelay(attempt, { |
no test coverage detected