gitlab-org--gitlab-foss/lib/api
Bob Van Landuyt f1ae1e39ce Move the circuitbreaker check out in a separate process
Moving the check out of the general requests, makes sure we don't have
any slowdown in the regular requests.

To keep the process performing this checks small, the check is still
performed inside a unicorn. But that is called from a process running
on the same server.

Because the checks are now done outside normal request, we can have a
simpler failure strategy:

The check is now performed in the background every
`circuitbreaker_check_interval`. Failures are logged in redis. The
failures are reset when the check succeeds. Per check we will try
`circuitbreaker_access_retries` times within
`circuitbreaker_storage_timeout` seconds.

When the number of failures exceeds
`circuitbreaker_failure_count_threshold`, we will block access to the
storage.

After `failure_reset_time` of no checks, we will clear the stored
failures. This could happen when the process that performs the checks
is not running.
2017-12-08 09:11:39 +01:00
..
helpers Added default order to UserFinder 2017-12-04 09:49:53 +00:00
v3 Allow password authentication to be disabled entirely 2017-11-23 13:16:14 +00:00
access_requests.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
api.rb Merge branch '36099-api-responses-missing-x-content-type-options-header' into '10-1-stable' 2017-11-08 20:11:18 -08:00
api_guard.rb Changes after rebase 2017-11-17 10:09:56 +01:00
award_emoji.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
boards.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
branches.rb Renamed ProtectedBranches::ApiUpdateService to LegacyApiUpdateService 2017-11-23 12:43:13 +00:00
broadcast_messages.rb Removes default scope from sortable 2017-09-07 13:01:59 +01:00
circuit_breakers.rb Move the circuitbreaker check out in a separate process 2017-12-08 09:11:39 +01:00
commit_statuses.rb Fix enum lists 2017-09-05 14:30:28 +09:00
commits.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
custom_attributes_endpoints.rb Support custom attributes on users 2017-09-28 16:49:42 +00:00
deploy_keys.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
deployments.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
entities.rb Use relative _path helper URLs in the GitLab UI 2017-12-07 11:19:37 -06:00
environments.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
events.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
features.rb Improve Features API and its docs and add a Changelog item 2017-07-06 11:18:26 +02:00
files.rb fix :file_path - add requirements: 2017-08-30 18:37:44 +00:00
group_milestones.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
group_variables.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
groups.rb Refactored /projects and /user/:user_id/projects endpoints 2017-12-01 18:32:12 +01:00
helpers.rb Introduce :read_namespace access policy for namespace and group 2017-11-23 17:44:05 +01:00
internal.rb Use relative git object paths to construct absolute ones before setting Env 2017-11-14 20:26:39 +01:00
issues.rb Create issue and merge request destroy services 2017-11-25 22:09:18 +02:00
job_artifacts.rb Respond with a bad request if artifact path is invalid 2017-09-06 11:31:08 +02:00
jobs.rb Add doc. Fix spec. Add erase_build in protected_ref rule 2017-11-07 02:47:05 +09:00
keys.rb
labels.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
lint.rb move `lib/ci/gitlab_ci_yaml_processor.rb` into `lib/gitlab/ci/yaml_processor.rb` 2017-09-12 22:32:02 +03:00
members.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
merge_request_diffs.rb Removes default scope from sortable 2017-09-07 13:01:59 +01:00
merge_requests.rb Create issue and merge request destroy services 2017-11-25 22:09:18 +02:00
milestone_responses.rb Removes default scope from sortable 2017-09-07 13:01:59 +01:00
namespaces.rb Allow request namespace by ID or path 2017-11-23 17:44:05 +01:00
notes.rb support ordering of project notes in notes api 2017-11-29 16:22:22 +00:00
notification_settings.rb refactor users update service 2017-09-28 08:46:39 +02:00
pages_domains.rb Add administrative endpoint to list all pages domains 2017-11-13 16:05:44 +00:00
pagination_params.rb
pipeline_schedules.rb Fix security breaching 2017-09-04 21:53:19 +09:00
pipelines.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
project_hooks.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
project_milestones.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
project_snippets.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
projects.rb The API isn't using the appropriate services for managing forks 2017-12-07 08:44:55 +00:00
projects_relation_builder.rb Not forcing to redefine preload_relation 2017-12-01 19:21:04 +01:00
protected_branches.rb CE backport of ProtectedBranches API changes 2017-12-07 11:58:50 +00:00
repositories.rb Merge branch 'sha-handling' into 'master' 2017-10-16 15:14:42 +00:00
runner.rb Store expire_at in ci_job_artifacts 2017-12-03 12:05:23 +01:00
runners.rb Refactorize jobs finding logic 2017-11-28 00:36:50 +01:00
scope.rb `AccessTokenValidationService` accepts `String` or `API::Scope` scopes. 2017-06-30 07:32:25 +00:00
services.rb Fix acceptance of username for Mattermost service update via API 2017-11-08 19:48:19 +00:00
settings.rb Add timeouts for Gitaly calls 2017-11-29 09:12:12 +00:00
sidekiq_metrics.rb
snippets.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
subscriptions.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
system_hooks.rb Conditionally destroy a ressource 2017-08-28 16:40:25 +02:00
tags.rb Remove 'Repo' prefix from API entites 2017-10-05 19:48:05 +11:00
templates.rb Remove 'Repo' prefix from API entites 2017-10-05 19:48:05 +11:00
time_tracking_endpoints.rb Enable the Style/PreferredHashMethods cop 2017-06-02 19:11:26 +02:00
todos.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
triggers.rb Revert autheticate! in Trigger API 2017-09-04 21:55:26 +09:00
users.rb Added default order to UserFinder 2017-12-04 09:49:53 +00:00
variables.rb API: Use defined project requirements 2017-08-31 14:57:47 +02:00
version.rb
wikis.rb Add API support for wiki pages 2017-09-07 09:21:52 +11:00