class Synapses::Manager

@author Alexander Semyonov <al@semyonov.us>

Public Instance Methods

channel(connection = Synapses.default_connection) click to toggle source
# File lib/synapses/manager.rb, line 29
def channel(connection = Synapses.default_connection)
  channel = AMQP::Channel.new(connection, AMQP::Channel.next_channel_id, auto_recovery: true)
  channel.on_error do |ch, channel_close|
    raise channel_close.reply_text
  end
  channel
end
start() click to toggle source
# File lib/synapses/manager.rb, line 8
def start
  AMQP::Utilities::EventLoopHelper.run
  AMQP::Integration::Rails.start do |connection|
    Synapses.default_connection ||= connection

    connection.on_error do |ch, connection_close|
      raise connection_close.reply_text
    end

    connection.on_tcp_connection_loss do |conn, settings|
      conn.reconnect(false, 2)
    end

    connection.on_tcp_connection_failure do |conn, settings|
      conn.reconnect(false, 2)
    end

    AMQP.channel = channel(connection)
  end
end