Sha256: f3a21e83732a13ac9e12c5e51cf81bd39403f83ab228c2eb5c18e10c3a4b187a
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
# -*- coding: utf-8 -*- require "spec_helper" unless ENV["CI"] describe "Concurrent publishers sharing a connection" do before :all do @connection = Bunny.new(:user => "bunny_gem", :password => "bunny_password", :vhost => "bunny_testbed", :automatically_recover => false) @connection.start end after :all do @connection.close end let(:concurrency) { 24 } let(:messages) { 5_000 } it "successfully finish publishing" do body = "сообщение" chs = {} concurrency.times do |i| ch = @connection.create_channel ch.confirm_select chs[i] = ch end ts = [] concurrency.times do |i| t = Thread.new do cht = chs[i] x = cht.default_exchange messages.times do x.publish(body) end puts "Published #{messages} messages..." cht.wait_for_confirms end t.abort_on_exception = true ts << t end ts.each do |t| t.join end chs.each { |_, ch| ch.close } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bunny-2.6.3 | spec/stress/concurrent_publishers_stress_spec.rb |
bunny-2.6.2 | spec/stress/concurrent_publishers_stress_spec.rb |