Class: Karafka::Web::Tracking::Consumers::Listeners::Pausing

Inherits:
Base
  • Object
show all
Defined in:
lib/karafka/web/tracking/consumers/listeners/pausing.rb

Overview

Tracks pausing and un-pausing of topics partitions for both user requested and automatic events.

Instance Method Summary collapse

Instance Method Details

#on_client_resume(event) ⇒ Object

Indicate pause ended

Parameters:

  • event (Karafka::Core::Monitoring::Event)


26
27
28
29
30
# File 'lib/karafka/web/tracking/consumers/listeners/pausing.rb', line 26

def on_client_resume(event)
  track do |sampler|
    sampler.pauses.delete pause_id(event)
  end
end

#on_consumer_consuming_pause(event) ⇒ Object

Indicate pause

Parameters:

  • event (Karafka::Core::Monitoring::Event)


14
15
16
17
18
19
20
21
# File 'lib/karafka/web/tracking/consumers/listeners/pausing.rb', line 14

def on_consumer_consuming_pause(event)
  track do |sampler|
    sampler.pauses[pause_id(event)] = {
      timeout: event[:timeout],
      paused_till: monotonic_now + event[:timeout]
    }
  end
end