Sha256: fbca6d3a7995449a7d8372663a3b8bd8a4506bc16ecf8d804f9142132921bc66

Contents?: true

Size: 1.06 KB

Versions: 11

Compression:

Stored size: 1.06 KB

Contents

#!/usr/bin/env ruby
# encoding: utf-8

require "bundler"
Bundler.setup

$:.unshift(File.expand_path("../../../lib", __FILE__))

require 'amqp'


puts "=> Connection loss is detected and handled"
puts
AMQP.start(:port     => 5672,
           :vhost    => "/amq_client_testbed",
           :user     => "amq_client_gem",
           :password => "amq_client_gem_password",
           :timeout        => 0.3,
           :on_tcp_connection_failure => Proc.new { |settings| puts "Failed to connect, this was NOT expected"; EM.stop }) do |connection, open_ok|
    connection.on_tcp_connection_loss do |cl, settings|
      puts "tcp_connection_loss handler kicks in"
      cl.reconnect(false, 1)
    end


  show_stopper = Proc.new do
    $stdout.puts "Stopping..."

    connection.close {
      EM.stop { exit }
    }
  end

  puts "Connected, authenticated. To really exercise this example, shut AMQP broker down for a few seconds. If you don't it will exit gracefully in 30 seconds."

  Signal.trap "TERM", show_stopper
  Signal.trap "INT",  show_stopper
  EM.add_timer(30, show_stopper)
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
amqp-0.8.0.rc13 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc12 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc11 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc10 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc9 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc8 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc7 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc6 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc5 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc4 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc3 examples/error_handling/connection_loss_handler.rb