Sha256: 920749ad29904bdb43d685358541bed7d13a69ea2760b4dffdd5c308d6fe0a18

Contents?: true

Size: 1.02 KB

Versions: 7

Compression:

Stored size: 1.02 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 { EventMachine.stop }
  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 "INT",  show_stopper
  EM.add_timer(30, show_stopper)
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
amqp-0.8.4 examples/error_handling/connection_loss_handler.rb
amqp-0.8.3 examples/error_handling/connection_loss_handler.rb
amqp-0.8.2 examples/error_handling/connection_loss_handler.rb
amqp-0.8.1 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc15 examples/error_handling/connection_loss_handler.rb
amqp-0.8.0.rc14 examples/error_handling/connection_loss_handler.rb