Sha256: 65915a03b69a24eef7175afb17dfdf3b7f219a8ead0adf06f9eda27b26335570

Contents?: true

Size: 700 Bytes

Versions: 6

Compression:

Stored size: 700 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

6 entries across 6 versions & 1 rubygems

Version Path
vx-consumer-0.2.0 spec/support/test_consumers.rb
vx-consumer-0.2.0.pre0 spec/support/test_consumers.rb
vx-consumer-0.1.8 spec/support/test_consumers.rb
vx-consumer-0.1.7 spec/support/test_consumers.rb
vx-consumer-0.1.6 spec/support/test_consumers.rb
vx-consumer-0.1.5 spec/support/test_consumers.rb