Skip to content

Commit

Permalink
Removed try loops that just need a sleep
Browse files Browse the repository at this point in the history
  • Loading branch information
treeder committed May 22, 2013
1 parent 780d9bf commit a059c05
Show file tree
Hide file tree
Showing 5 changed files with 109 additions and 142 deletions.
7 changes: 4 additions & 3 deletions Gemfile.lock
Expand Up @@ -8,12 +8,13 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
beanstalk-client (1.1.1) beanstalk-client (1.1.1)
concur (2.1.0) concur (2.1.1)
concur
ethon (0.5.12) ethon (0.5.12)
ffi (>= 1.3.0) ffi (>= 1.3.0)
mime-types (~> 1.18) mime-types (~> 1.18)
ffi (1.8.1) ffi (1.8.1)
go (1.1.0)
concur
iron_core (0.6.1) iron_core (0.6.1)
rest (>= 2.2.0) rest (>= 2.2.0)
iron_worker_ng (0.16.4) iron_worker_ng (0.16.4)
Expand All @@ -40,7 +41,7 @@ PLATFORMS


DEPENDENCIES DEPENDENCIES
beanstalk-client beanstalk-client
concur go
iron_mq! iron_mq!
iron_worker_ng iron_worker_ng
minitest minitest
Expand Down
3 changes: 1 addition & 2 deletions iron_mq.gemspec
Expand Up @@ -24,10 +24,9 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "beanstalk-client" gem.add_development_dependency "beanstalk-client"
gem.add_development_dependency "uber_config" gem.add_development_dependency "uber_config"
gem.add_development_dependency "typhoeus", ">= 0.5.4" gem.add_development_dependency "typhoeus", ">= 0.5.4"
gem.add_development_dependency "concur"
gem.add_development_dependency "net-http-persistent" gem.add_development_dependency "net-http-persistent"
gem.add_development_dependency "quicky" gem.add_development_dependency "quicky"
gem.add_development_dependency "iron_worker_ng" gem.add_development_dependency "iron_worker_ng"

gem.add_development_dependency "go"
end end


116 changes: 57 additions & 59 deletions test/quick_run.rb
@@ -1,7 +1,9 @@
require 'quicky' require 'quicky'
require 'go'
require File.expand_path('test_base.rb', File.dirname(__FILE__)) require File.expand_path('test_base.rb', File.dirname(__FILE__))


TIMES = 100 THREADS = 1
TIMES_PER_THREAD = 100


class QuickRun < TestBase class QuickRun < TestBase


Expand All @@ -10,81 +12,77 @@ def setup
end end


def test_quick def test_quick
queue_name = 'ironmq-gem_quick' THREADS.times do |i|
clear_queue(queue_name) # todo: should connect first to cut off the initial connection time.
queue = @client.queue(queue_name)
queue_name = "ironmq_gem_quick_a_#{i}"
clear_queue(queue_name)
queue = @client.queue(queue_name)

quicky = Quicky::Timer.new
quicky.loop(:test_quick, TIMES_PER_THREAD) do |i|
puts "==== LOOP #{i} =================================="

post_id = nil
quicky.time(:post) do
res = queue.post("hello world!")
# p res
assert_not_nil res
assert_not_nil res.id
post_id = res.id
assert !(res.msg.nil? || res.msg.empty?)
end

quicky.time(:get) do
msg = queue.get
assert_not_nil msg.id
assert_equal msg.id, post_id
assert !(msg.body.nil? || msg.body.empty?)
end

quicky.time(:delete) do
res = queue.delete(post_id)
# p res
assert_not_nil res
assert !(res.msg.nil? || res.msg.empty?)
end

puts "queue size: #{queue.reload.size}"


quicky = Quicky::Timer.new msg = queue.get

# p msg
# make connection assert_nil msg
res2 = queue.get
# p res2


quicky.loop(:test_quick, TIMES) do |i|
puts "==== LOOP #{i} =================================="


post_id = nil q = @client.queue('test2')
quicky.time(:post) do res = q.post("hello world!")
res = queue.post("hello world!")
# p res # p res
assert_not_nil res
assert_not_nil res.id assert_not_nil res.id
post_id = res.id assert_not_nil res.msg
assert !(res.msg.nil? || res.msg.empty?)
end


quicky.time(:get) do msg = q.get
msg = queue.get # p res
assert_not_nil msg
assert_not_nil msg.id assert_not_nil msg.id
assert_equal msg.id, post_id assert_not_nil msg.body
assert !(msg.body.nil? || msg.body.empty?)
end


quicky.time(:delete) do res = msg.delete
res = queue.delete(post_id)
# p res # p res
assert_not_nil res assert_equal 200, res.code, "API must delete message and respond with HTTP 200 status, but returned HTTP #{res.code}"
assert !(res.msg.nil? || res.msg.empty?)
end end

puts "count: #{quicky.results(:post).count}"
puts "avg post: #{quicky.results(:post).duration}"
puts "avg get: #{quicky.results(:get).duration}"
puts "avg delete: #{quicky.results(:delete).duration}"
puts "queue size: #{queue.reload.size}" puts "queue size: #{queue.reload.size}"
resp = queue.delete_queue
assert_equal 200, resp.code, "API must respond with HTTP 200 status, but returned HTTP #{resp.code}"


msg = queue.get
# p msg
assert_nil msg


q = @client.queue('test2')
res = q.post("hello world!")
# p res
assert_not_nil res.id
assert_not_nil res.msg


msg = q.get
# p res
assert_not_nil msg
assert_not_nil msg.id
assert_not_nil msg.body

res = msg.delete
# p res
assert_equal 200, res.code, "API must delete message and respond with HTTP 200 status, but returned HTTP #{res.code}"
end end
puts "count: #{quicky.results(:post).count}"
puts "avg post: #{quicky.results(:post).duration}"
puts "avg get: #{quicky.results(:get).duration}"
puts "avg delete: #{quicky.results(:delete).duration}"


sleep 5 sleep 5


puts "queue size: #{queue.reload.size}"

# delete queue on test complete
resp = queue.delete_queue
assert_equal 200, resp.code, "API must respond with HTTP 200 status, but returned HTTP #{resp.code}"

resp = @client.queue('test2').delete_queue
assert_equal 200, resp.code, "API must respond with HTTP 200 status, but returned HTTP #{resp.code}"
end end




Expand Down

0 comments on commit a059c05

Please sign in to comment.