class RapidsRivers::RabbitMqRiver

Understands a filtered message stream based on RabbitMQ

Public Instance Methods

register(service) click to toggle source

alias_method :parent_register, :register

Calls superclass method RapidsRivers::River#register
# File lib/rapids_rivers/rabbit_mq/rabbit_mq_river.rb, line 12
def register service
  super
  begin
    @rapids_connection.publish startup_packet(service)
    queue(service).subscribe(:block => true)  do |delivery_info, metadata, payload|
      message @rapids_connection, payload
    end
  rescue Interrupt => _
    @rapids_connection.close
    exit(0)
  end
end

Private Instance Methods

queue(service) click to toggle source
# File lib/rapids_rivers/rabbit_mq/rabbit_mq_river.rb, line 27
def queue service
  @queue ||= @rapids_connection.queue service_name(service)
end
startup_packet(service) click to toggle source
# File lib/rapids_rivers/rabbit_mq/rabbit_mq_river.rb, line 31
def startup_packet service
  RapidsRivers::Packet.new(
    system: 'log',
    log_severity: 'informational',
    event_type: 'service_state',
    service_state: 'starting',
    service_name: service_name(service) )
end