Commit cd1ad2b1 authored by Evan Read's avatar Evan Read Committed by Achilleas Pipinellis

Better documentation on repo mirroring enqueuing

parent cc022a15
...@@ -138,13 +138,18 @@ upstream and GitLab will no longer automatically update this branch to prevent a ...@@ -138,13 +138,18 @@ upstream and GitLab will no longer automatically update this branch to prevent a
### How it works ### How it works
Once you activate the pull mirroring feature, the mirror will be inserted into a queue. A scheduler Once the pull mirroring feature has been enabled for a repository, the repository is added to a queue.
will start every minute and schedule a fixed number of mirrors for update, based on the configured maximum capacity.
If the mirror updates successfully, it will be enqueued once again with a small backoff period. Once per minute, a Sidekiq cron job schedules repository mirrors to update, based on:
If the mirror fails (for example, a branch diverged from upstream), the project's backoff period is - The capacity available. This is determined by Sidekiq settings. For GitLab.com, see [GitLab.com Sidekiq settings](../user/gitlab_com/index.md#sidekiq).
increased each time it fails, up to a maximum amount of time. - The number of repository mirrors already in the queue that are due to be updated. Being due depends on when the repository mirror was last updated and how many times it's been retried.
Repository mirrors are updated as Sidekiq becomes available to process them. If the process of updating the repository mirror:
- Succeeds, an update will be enqueued again with at least a 30 minute wait.
- Fails (for example, a branch diverged from upstream), it will be attempted again later. Mirrors can fail
up to 14 times before they will not be enqueued for update again.
### SSH authentication ### SSH authentication
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment