Method: Etcd::Observer#run

Defined in:
lib/etcd/observer.rb

#runObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/etcd/observer.rb', line 14

def run
  @running = true
  @thread = Thread.start do
    while @running
      logger.debug "********* watching #{@prefix} with index #{@index}"
      @client.watch(@prefix, @options.merge(index: @index)) do |value, key, info|
        if @running
          logger.debug "watch fired for #{@prefix} with #{info.inspect} "
          call_handler_in_needed(value, key, info)
        end
      end
    end
  end
  self
end