Class: Untied::Publisher::Producer

Inherits:
Object
  • Object
show all
Defined in:
lib/untied-publisher/producer.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Producer

Returns a new instance of Producer.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/untied-publisher/producer.rb', line 7

def initialize(opts={})
  @opts = {
    :service_name => Publisher.config.service_name,
    :deliver_messages => Publisher.config.deliver_messages,
    :channel => nil,
  }.merge(opts)

  Publisher.config.logger.info "Untied::Publisher: Producer intialized with options #{@opts.inspect}"

  @routing_key = "untied.#{@opts[:service_name]}"

  if !@opts[:deliver_messages]
    Publisher.config.logger.info \
      "AMQP.channel was not setted up because message delivering is disabled."
    return
  end

  check_em_reactor

  if AMQP.channel || @opts[:channel]
    Publisher.config.logger.info "Using defined AMQP.channel"
    @channel = AMQP.channel || @opts[:channel]
    @exchange = @channel.topic("untied", :auto_delete => true)
  end
end

Instance Method Details

#publish(event) ⇒ Object



33
34
35
# File 'lib/untied-publisher/producer.rb', line 33

def publish(event)
  safe_publish(event)
end