title: Rails + Puma + Bunny - Timeout error
body: <p>When set rabbitmq connection in initializer </p>
  
  <pre><code>#config/initializers/rabbitmq.rb
  $rabbitmq_connection = Bunni.new "amqp://#{user}:#{pass}@#{host}:#{port}#{vhost}"
  $rabbitmq_connection.start
  $rabbitmq_channel = $rabbitmq_connection.create_channel
  </code></pre>
  
  <p>than thrown Timeout error from the place where I try to create exchange and publish</p>
  
  <pre><code>class Publisher
  ...
    exchange = $rabbitmq_channel.topic 'some', {auto_delete: false, passive: true}
  end
  </code></pre>
  
  <p>Error trace</p>
  
  <pre><code>E, [2015-10-05T11:59:16.448537 #14889] ERROR -- : Error: Timeout::Error: Timeout::Error from
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/concurrent/continuation_queue.rb:33:in `block in poll'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/concurrent/continuation_queue.rb:30:in `synchronize'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/concurrent/continuation_queue.rb:30:in `poll'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/channel.rb:1774:in `wait_on_continuations'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/channel.rb:1176:in `block in exchange_declare'
  /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout'
  /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `call'
  /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `timeout'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/channel.rb:1175:in `exchange_declare'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/exchange.rb:245:in `declare!'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/exchange.rb:83:in `initialize'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/channel.rb:344:in `new'
  /home/deployer/project/shared/bundle/ruby/2.1.0/bundler/gems/bunni-cd347c9da757/lib/bunni/channel.rb:344:in `topic'
  /home/deployer/project/releases/20151005085039/app/services/publisher.rb:32:in `publish'
  </code></pre>
  
  <p>If create connection and channel in Publisher directly than works.</p>
  
  <pre><code>class Publisher
    ...
    $rabbitmq_connection = Bunni.new "amqp://#{user}:#{pass}@#{host}:#{port}#{vhost}"
    $rabbitmq_connection.start
    $rabbitmq_channel = $rabbitmq_connection.create_channel
    ...
  end
  </code></pre>
  
  <p>Puma settings</p>
  
  <pre><code>#config/deploy.rb
  set :puma_workers, 4
  set :puma_threads, [4, 16]
  set :puma_init_active_record, true
  set :puma_bind, %w(tcp://0.0.0.0:9291 tcp://0.0.0.0:9292 unix:///home/deployer/project/current/tmp/sockets/puma.sock)
  </code></pre>
  
  <p>How should I initialize connection and create channel in my case? Thanks</p>