RSolr::EM

Used like so:

EM.run do
  http = RSolr::EM.new 'http://localhost:8983/solr/'
  solr = RSolr::Client.new http
  solr.get('select',
    :params => {:q => '*:*'},
    :on_success => proc do |response, req, res|
      p 'success'
      p response
      EM.stop
    end,
    :on_error => proc do |req,res,e|
      p 'error'
      puts e.to_s
      EM.stop
    end
  )
end