Class: AmplitudeExperiment::Poller

Inherits:
Object
  • Object
show all
Defined in:
lib/experiment/util/poller.rb

Overview

Poller

Instance Method Summary collapse

Constructor Details

#initialize(interval_seconds, callback) ⇒ Poller



4
5
6
7
# File 'lib/experiment/util/poller.rb', line 4

def initialize(interval_seconds, callback)
  @interval_seconds = interval_seconds
  @callback = callback
end

Instance Method Details

#startObject



9
10
11
12
13
14
15
16
17
# File 'lib/experiment/util/poller.rb', line 9

def start
  @running = true
  @thread = Thread.new do
    while @running
      @callback.call
      sleep(@interval_seconds)
    end
  end
end

#stopObject



19
20
21
22
# File 'lib/experiment/util/poller.rb', line 19

def stop
  @running = false
  @thread&.join
end