Skip to content

Instantly share code, notes, and snippets.

@phillbaker
Created July 16, 2013 21:22
Show Gist options
  • Save phillbaker/6015285 to your computer and use it in GitHub Desktop.
Save phillbaker/6015285 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'bundler/setup'
require 'eventmachine'
require 'em-http-request'
EM.run do
work = 0..1000
concurrent_workers = 100
EM::Iterator.new(work, concurrent_workers).each do |num, em_iter|
# Do work son
http = EventMachine::HttpRequest.new("http://www.google.com/?q=#{num}").get
http.errback do
p "Uh oh - #{num}"
# TODO try one more time for failed stuff - it's spaghetti code though
em_iter.next
end
http.callback do
response = http.response
# Insert into DB or something
em_iter.next
end
em_iter.next
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment