Class: Gitlab::ResourceUsageLimiter
- Inherits:
-
Object
- Object
- Gitlab::ResourceUsageLimiter
- Defined in:
- lib/gitlab/resource_usage_limiter.rb
Overview
rubocop:disable Gitlab/NamespacedClass – global wrapper over ApplicationRateLimiter
Instance Method Summary collapse
- #exceeded_limits ⇒ Object
- #exceeded_limits? ⇒ Boolean
-
#initialize(worker_name: nil) ⇒ ResourceUsageLimiter
constructor
A new instance of ResourceUsageLimiter.
Constructor Details
#initialize(worker_name: nil) ⇒ ResourceUsageLimiter
Returns a new instance of ResourceUsageLimiter.
5 6 7 8 9 |
# File 'lib/gitlab/resource_usage_limiter.rb', line 5 def initialize(worker_name: nil) # Sidekiq runtime should define worker_name # Puma runtime can use caller_id in labkit @params = { worker_name: worker_name }.merge(Gitlab::ApplicationContext.current) end |
Instance Method Details
#exceeded_limits ⇒ Object
11 12 13 14 15 |
# File 'lib/gitlab/resource_usage_limiter.rb', line 11 def exceeded_limits limits.filter do |limit| throttled?(limit) end end |
#exceeded_limits? ⇒ Boolean
17 18 19 20 21 |
# File 'lib/gitlab/resource_usage_limiter.rb', line 17 def exceeded_limits? limits.filter.any? do |limit| throttled?(limit, peek: true) end end |