Class: SnowAgent::AsyncStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/snowagent/async_strategy.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ AsyncStrategy

Returns a new instance of AsyncStrategy.



3
4
5
6
# File 'lib/snowagent/async_strategy.rb', line 3

def initialize(configuration)
  @queue = Queue.new
  run_sender(configuration)
end

Instance Method Details

#metric(metric) ⇒ Object



13
14
15
# File 'lib/snowagent/async_strategy.rb', line 13

def metric(metric)
  @queue.push(metric)
end

#run_sender(conf) ⇒ Object



8
9
10
11
# File 'lib/snowagent/async_strategy.rb', line 8

def run_sender(conf)
  sender_thread = Thread.new { Sender.new(@queue, conf).run }
  sender_thread.abort_on_exception = true
end