Sha256: 33f4bb08e773689f3195719b3a437d133455e9381ef95d569d3abca9c05b46c0

Contents?: true

Size: 701 Bytes

Versions: 2

Compression:

Stored size: 701 Bytes

Contents

require 'thread'

class Alice
  include Vx::Consumer

  content_type 'text/plain'
  routing_key 'mykey'

  fanout

end

class Bob
  include Vx::Consumer

  exchange 'bob_exch',  durable: false, auto_delete: true
  queue    'bob_queue', durable: false, auto_delete: true
  ack

  @@m         = Mutex.new
  @@collected = []

  class << self

    attr_accessor :timeout

    def _collected
      @@collected
    end

    def _reset
      @@m.synchronize do
        @@collected = []
      end
    end

    def _save(payload)
      @@m.synchronize do
        @@collected << payload
      end
    end
  end

  def perform(payload)
    self.class._save payload
    sleep self.class.timeout
    ack
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vx-consumer-0.1.4 spec/support/test_consumers.rb
vx-consumer-0.1.3 spec/support/test_consumers.rb