Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@miyagawa
Created November 13, 2012 06:05
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save miyagawa/4064237 to your computer and use it in GitHub Desktop.
Save miyagawa/4064237 to your computer and use it in GitHub Desktop.
faraday and em-synchrony
#!/usr/bin/env ruby
require 'faraday'
require 'em-synchrony'
require 'em-synchrony/em-http'
require 'em-synchrony/fiber_iterator'
conn = Faraday::Connection.new(:url => 'http://localhost:5000') do |builder|
builder.use Faraday::Adapter::EMSynchrony # make http request with eventmachine and synchrony
end
EM.synchrony do
queries = 1..5
results = []
conn.in_parallel do
#EventMachine::Synchrony::FiberIterator.new(queries, 5).each do |query|
queries.each do |query|
resp = conn.get do |req|
req.url "/search?q=foo+#{query}"
end
results.push resp
end
end
results.each do |r|
p r.body
end
EM.stop
end
@kjakub
Copy link

kjakub commented May 26, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment