Skip to content

Conversation

rnro
Copy link
Contributor

@rnro rnro commented May 27, 2025

Motivation:

Some 429: Too many requests responses have been seen when attempting to curl remote CI scripts.

Modifications:

Adding --retry 3 which means that curl will retry 3 times on transient error codes.

Result:

Transient errors will be retried 3 times, first for 1 second and then doubled each retry.

From man curl

       --retry <num>
              If a transient error is returned when curl tries to perform a transfer, it
              retries this number of times before giving up. Setting the number to 0
              makes curl do no retries (which is the default). Transient error means
              either: a timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502,
              503 or 504 response code.

              When curl is about to retry a transfer, it first waits one second and then
              for all forthcoming retries it doubles the waiting time until it reaches 10
              minutes which then remains delay between the rest of the retries. By using
              --retry-delay you disable this exponential backoff algorithm. See also
              --retry-max-time to limit the total time allowed for retries.

              curl complies with the Retry-After: response header if one was present to
              know when to issue the next retry (added in 7.66.0).

              If --retry is provided several times, the last set value is used.

Motivation:

Some 429: Too many requests responses have been seen when attempting to
curl remote CI scripts.

Modifications:

Adding `--retry 3` which means that curl will retry 3 times on transient
error codes.

Result:

Transient errors will be retried 3 times, first for 1 second and then
doubled each retry.
@rnro rnro added the semver/none No version bump required. label May 27, 2025
@rnro rnro marked this pull request as ready for review May 27, 2025 16:05
@rnro rnro merged commit 8317eab into apple:main May 28, 2025
37 of 42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver/none No version bump required.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants