use typhoeus instead of patron

This commit is contained in:
Umar M. Sheikh 2014-01-14 14:48:48 +05:00
parent 406d26569d
commit 77c623b28e
3 changed files with 17 additions and 15 deletions

View file

@ -4,7 +4,6 @@ gem 'rails'
gem 'rake'
gem 'mysql2'
gem 'devise'
gem "patron"
gem 'kaminari'
gem 'bootstrap-kaminari-views'
gem "rufus-scheduler", :require => false

View file

@ -138,7 +138,6 @@ GEM
multi_xml (~> 0.5)
rack (~> 1.2)
orm_adapter (0.4.0)
patron (0.4.18)
polyglot (0.3.3)
pry (0.9.12.2)
coderay (~> 1.0.5)
@ -281,7 +280,6 @@ DEPENDENCIES
kramdown
mysql2
nokogiri
patron
pry
rails
rake

View file

@ -64,21 +64,26 @@ module Agents
options["stops"].collect{|a| a.split("|").last}
end
def check
page = session.get(check_url)
page = Nokogiri::XML page.body
predictions = page.css("//prediction")
predictions.each do |pr|
parent = pr.parent.parent
vals = {routeTitle: parent["routeTitle"], stopTag: parent["stopTag"]}
if pr["minutes"] && pr["minutes"].to_i < options["alert_window_in_minutes"].to_i
vals = vals.merge Hash.from_xml(pr.to_xml)
if not_already_in_memory?(vals)
create_event(:payload => vals)
add_to_memory(vals)
else
hydra = Typhoeus::Hydra.new
request = Typhoeus::Request.new(check_url, :followlocation => true)
request.on_success do |response|
page = Nokogiri::XML response.body
predictions = page.css("//prediction")
predictions.each do |pr|
parent = pr.parent.parent
vals = {routeTitle: parent["routeTitle"], stopTag: parent["stopTag"]}
if pr["minutes"] && pr["minutes"].to_i < options["alert_window_in_minutes"].to_i
vals = vals.merge Hash.from_xml(pr.to_xml)
if not_already_in_memory?(vals)
create_event(:payload => vals)
add_to_memory(vals)
else
end
end
end
end
hydra.queue request
hydra.run
end
def add_to_memory(vals)
self.memory["existing_routes"] ||= []