Class: EventStore::Util

Inherits:
Object
  • Object
show all
Defined in:
lib/eventstore/client.rb

Class Method Summary collapse

Class Method Details

.poll(eventstore, stream, start_at = 0, set_size = 100, sleep_time = 10) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/eventstore/client.rb', line 53

def self.poll eventstore, stream, start_at=0, set_size=100, sleep_time=10
  Enumerator.new do |yielder|
    last_start_at = nil
    begin
      loop do
        if last_start_at == start_at
          sleep sleep_time
        end
        last_start_at = start_at
        events = eventstore.resume_read(stream, start_at, set_size).drop(1)
        events.each do |event|
          yielder << event
          start_at = event[:id]
        end
      end
    end
  end
end