Commit bcf0c1cd authored by Kacper Bielecki's avatar Kacper Bielecki
Browse files

Fixed problem with event gauges beeing displayed always one event behind.

parent a72290d7
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -19,15 +19,17 @@ class FnordMetric::Worker
  end

  def tick
    @redis.blpop(queue_key, 0).callback do |list, event_id|           
    @redis.blpop(queue_key, 1).callback do |list, event_id|           
      EM.next_tick(&method(:tick))
      if event_id
        @redis.get(event_key(event_id)).callback do |event_data|                     
          process_event(event_id, event_data) if event_data        
          FnordMetric.log("event_lost: event_data not found for event-id '#{event_id}'") unless event_data
        EM.next_tick(&method(:tick))      
          @redis.hincrby(stats_key, :events_processed, 1)
        end
      end
    end
  end

  def process_event(event_id, event_data)
    EM.defer do