You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge branch '3678/enable-check-interval' into 'main'
Ensure check_interval takes effect and eliminate race condition between fleet of runners
See merge request https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/6081
Merged-by: Axel von Bertoldi <avonbertoldi@gitlab.com>
Approved-by: Axel von Bertoldi <avonbertoldi@gitlab.com>
Approved-by: Joe Burnett <jburnett@gitlab.com>
Approved-by: Roshni Sarangadharan <rsarangadharan@gitlab.com>
Approved-by: Igor <iwiedler@gitlab.com>
Co-authored-by: Pishel65 <30761928-pishel65@users.noreply.gitlab.com>
Co-authored-by: Pishel <fishel.itay@gmail.com>
Limitint`toml:"limit,omitzero" json:"limit" long:"limit" env:"RUNNER_LIMIT" description:"Maximum number of builds processed by this runner"`
1305
-
OutputLimitint`toml:"output_limit,omitzero" long:"output-limit" env:"RUNNER_OUTPUT_LIMIT" description:"Maximum build trace size in kilobytes"`
1306
-
RequestConcurrencyint`toml:"request_concurrency,omitzero" long:"request-concurrency" env:"RUNNER_REQUEST_CONCURRENCY" description:"Maximum concurrency for job requests" jsonschema:"min=1"`
1307
-
1308
-
UnhealthyRequestsLimitint`toml:"unhealthy_requests_limit,omitzero" long:"unhealthy-requests-limit" env:"RUNNER_UNHEALTHY_REQUESTS_LIMIT" description:"The number of 'unhealthy' responses to new job requests after which a runner worker will be disabled"`
1309
-
UnhealthyInterval*time.Duration`toml:"unhealthy_interval,omitzero" json:",omitempty" long:"unhealthy-interval" ENV:"RUNNER_UNHEALTHY_INTERVAL" description:"Duration for which a runner worker is disabled after exceeding the unhealthy requests limit. Supports syntax like '3600s', '1h30min' etc"`
Limitint`toml:"limit,omitzero" json:"limit" long:"limit" env:"RUNNER_LIMIT" description:"Maximum number of builds processed by this runner"`
1305
+
OutputLimitint`toml:"output_limit,omitzero" long:"output-limit" env:"RUNNER_OUTPUT_LIMIT" description:"Maximum build trace size in kilobytes"`
1306
+
RequestConcurrencyint`toml:"request_concurrency,omitzero" long:"request-concurrency" env:"RUNNER_REQUEST_CONCURRENCY" description:"Maximum concurrency for job requests" jsonschema:"min=1"`
1307
+
StrictCheckInterval*bool`toml:"strict_check_interval,omitzero" json:",omitempty" long:"strict-check-interval" env:"RUNNER_STRICT_CHECK_INTERVAL" description:"When you set StrictCheckInterval to true, the runner disables the faster-than-check_interval re-polling loop that occurs when a runner receives a job. Instead, the runner waits <check_interval> seconds before it polls again, even if additional jobs are available."`
1308
+
1309
+
UnhealthyRequestsLimitint`toml:"unhealthy_requests_limit,omitzero" long:"unhealthy-requests-limit" env:"RUNNER_UNHEALTHY_REQUESTS_LIMIT" description:"The number of unhealthy responses to new job requests after which a runner worker is turned off."`
1310
+
UnhealthyInterval*time.Duration`toml:"unhealthy_interval,omitzero" json:",omitempty" long:"unhealthy-interval" ENV:"RUNNER_UNHEALTHY_INTERVAL" description:"Duration that the runner worker is turned off after it exceeds the unhealthy requests limit. Supports syntax like '3600s' and '1h30min'."`
1310
1311
JobStatusFinalUpdateRetryLimitint`toml:"job_status_final_update_retry_limit,omitzero" json:"job_status_final_update_retry_limit,omitzero" long:"job-status-final-update-retry-limit" env:"RUNNER_job_status_final_update_retry_limit" description:"The maximum number of times GitLab Runner can retry to push the final job status to the GitLab instance."`
1311
1312
1312
1313
SystemIDstring`toml:"-" json:",omitempty"`
@@ -2181,6 +2182,14 @@ func (c *RunnerConfig) GetRequestConcurrency() int {
|`name`| The runner's description. Informational only. |
344
344
|`url`| GitLab instance URL. |
345
345
|`token`| The runner's authentication token, which is obtained during runner registration. [Not the same as the registration token](https://docs.gitlab.com/api/runners/#registration-and-authentication-tokens). |
@@ -352,7 +352,8 @@ Each `[[runners]]` section defines one runner.
352
352
|`builds_dir`| Absolute path to a directory where builds are stored in the context of the selected executor. For example, locally, Docker, or SSH. |
353
353
|`cache_dir`| Absolute path to a directory where build caches are stored in context of selected executor. For example, locally, Docker, or SSH. If the `docker` executor is used, this directory needs to be included in its `volumes` parameter. |
354
354
|`environment`| Append or overwrite environment variables. |
355
-
|`request_concurrency`| Limit number of concurrent requests for new jobs from GitLab. Default is `1`. For more information about how `concurrency` , `limit`, and `request_concurrency` interact to control job flow, see the [KB article on GitLab Runner concurrency tuning](https://support.gitlab.com/hc/en-us/articles/21324350882076-GitLab-Runner-Concurrency-Tuning-Understanding-request-concurrency). |
355
+
|`request_concurrency`| Limit number of concurrent requests for new jobs from GitLab. Default is `1`. For more information about how `concurrency` , `limit`, and `request_concurrency` interact to control job flow, see the [KB article on GitLab Runner concurrency tuning](https://support.gitlab.com/hc/en-us/articles/21324350882076-GitLab-Runner-Concurrency-Tuning-Understanding-request-concurrency). |
356
+
|`strict_check_interval`| Under normal operation, when a runner polls for jobs and receives a job, it immediately re-polls for jobs until the number of jobs being processed matches `concurrent` or `limit`, or until no jobs are available. When you turn on `strict_check_interval`, the runner disables this faster-than-`check_interval` re-polling loop and strictly respects `check_interval`. Default is `false`. |
356
357
|`output_limit`| Maximum build log size in kilobytes. Default is `4096` (4 MB). |
357
358
|`pre_get_sources_script`| Commands to be executed on the runner before updating the Git repository and updating submodules. Use it to adjust the Git client configuration first, for example. To insert multiple commands, use a (triple-quoted) multi-line string or `\n` character. |
358
359
|`post_get_sources_script`| Commands to be executed on the runner after updating the Git repository and updating submodules. To insert multiple commands, use a (triple-quoted) multi-line string or `\n` character. |
0 commit comments