lib/snowplow-tracker/emitters.rb
def flush(async=true)
      loop do
        @lock.synchronize do
          @queue.synchronize do
            @results_unprocessed += 1
          end
          @queue << @buffer
          @buffer = []
        end
        if not async
          LOGGER.info('Starting synchronous flush')
          @queue.synchronize do
            @all_processed_condition.wait_while { @results_unprocessed > 0 }
            LOGGER.info('Finished synchronous flush')
          end
        end
        break if @buffer.size < 1
      end
    end
def flush(async=true)
      loop do
        @lock.synchronize do
          @queue.synchronize do
            @results_unprocessed += 1
          end
          @queue << @buffer
          @buffer = []
        end
        if not async
          LOGGER.info('Starting synchronous flush')
          @queue.synchronize do
            @all_processed_condition.wait_while { @results_unprocessed > 0 }
            LOGGER.info('Finished synchronous flush')
          end
        end
        break if @buffer.size < 1
      end
    end
def flush ( async = true ) loop do @lock . synchronize do @queue . synchronize do @results_unprocessed += 1 end @queue << @buffer @buffer = [ ] end if not async LOGGER . info ( 'Starting synchronous flush' ) @queue . synchronize do @all_processed_condition . wait_while { @results_unprocessed > 0 } LOGGER . info ( 'Finished synchronous flush' ) end end break if @buffer . size < 1 end end
Flush the buffer
  If async is false, block until the queue is empty
Flush the buffer If async is false block until the queue is empty