Class: Gitlab::Counters::FlushStaleCounterIncrements
- Inherits:
-
Object
- Object
- Gitlab::Counters::FlushStaleCounterIncrements
- Defined in:
- lib/gitlab/counters/flush_stale_counter_increments.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(collection) ⇒ FlushStaleCounterIncrements
constructor
A new instance of FlushStaleCounterIncrements.
Constructor Details
#initialize(collection) ⇒ FlushStaleCounterIncrements
Returns a new instance of FlushStaleCounterIncrements.
6 7 8 9 10 |
# File 'lib/gitlab/counters/flush_stale_counter_increments.rb', line 6 def initialize(collection) @collection = collection @logger = Gitlab::AppLogger @counter_attributes = collection.counter_attributes.keys.map(&:to_sym) end |
Instance Method Details
#execute ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/gitlab/counters/flush_stale_counter_increments.rb', line 12 def execute collection_min_id = collection.minimum(:id) counter_attributes.each do |attribute| logger.info( class: self.class, attribute: attribute, collection_min_id: collection_min_id ) counters = filtered_counters(collection, attribute) counters.each_value(&:commit_increment!) end end |