Module: RailsPipeline::IronmqPublisher::InstanceMethods

Defined in:
lib/rails-pipeline/ironmq_publisher.rb

Instance Method Summary collapse

Instance Method Details

#_ironObject



27
28
29
30
# File 'lib/rails-pipeline/ironmq_publisher.rb', line 27

def _iron
  @iron = IronMQ::Client.new if @iron.nil?
  return @iron
end

#publish(topic_name, data) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/rails-pipeline/ironmq_publisher.rb', line 18

def publish(topic_name, data)
  t0 = Time.now
  queue = _iron.queue(topic_name)
  queue.post({payload: Base64.strict_encode64(data)}.to_json)
  t1 = Time.now
  ::NewRelic::Agent.record_metric('Pipeline/IronMQ/publish', t1-t0) if RailsPipeline::HAS_NEWRELIC
  RailsPipeline.logger.debug "Publishing to IronMQ: #{topic_name} took #{t1-t0}s"
end