Class: RosettaQueue::Gateway::BaseExchange

Inherits:
Object
  • Object
show all
Defined in:
lib/rosetta_queue/adapters/amqp.rb

Direct Known Subclasses

DirectExchange, FanoutExchange

Instance Method Summary collapse

Constructor Details

#initialize(user, pass, host) ⇒ BaseExchange

Returns a new instance of BaseExchange.



57
58
59
# File 'lib/rosetta_queue/adapters/amqp.rb', line 57

def initialize(user, pass, host)
  @user, @pass, @host = user, pass, host
end

Instance Method Details

#publish_to_exchange(destination, message, options = {}) ⇒ Object



61
62
63
64
65
66
67
68
69
70
# File 'lib/rosetta_queue/adapters/amqp.rb', line 61

def publish_to_exchange(destination, message, options={})
  unless EM.reactor_running?
    EM.run do
      publish_message(destination, message, options)
      EM.add_timer(1) { EM.stop_event_loop }
    end
  else
    publish_message(destination, message, options)
  end
end