@@ -4,7 +4,6 @@ gem 'rails' |
||
| 4 | 4 |
gem 'rake' |
| 5 | 5 |
gem 'mysql2' |
| 6 | 6 |
gem 'devise' |
| 7 |
-gem "patron" |
|
| 8 | 7 |
gem 'kaminari' |
| 9 | 8 |
gem 'bootstrap-kaminari-views' |
| 10 | 9 |
gem "rufus-scheduler", :require => false |
@@ -138,7 +138,6 @@ GEM |
||
| 138 | 138 |
multi_xml (~> 0.5) |
| 139 | 139 |
rack (~> 1.2) |
| 140 | 140 |
orm_adapter (0.4.0) |
| 141 |
- patron (0.4.18) |
|
| 142 | 141 |
polyglot (0.3.3) |
| 143 | 142 |
pry (0.9.12.2) |
| 144 | 143 |
coderay (~> 1.0.5) |
@@ -281,7 +280,6 @@ DEPENDENCIES |
||
| 281 | 280 |
kramdown |
| 282 | 281 |
mysql2 |
| 283 | 282 |
nokogiri |
| 284 |
- patron |
|
| 285 | 283 |
pry |
| 286 | 284 |
rails |
| 287 | 285 |
rake |
@@ -64,21 +64,26 @@ module Agents |
||
| 64 | 64 |
options["stops"].collect{|a| a.split("|").last}
|
| 65 | 65 |
end |
| 66 | 66 |
def check |
| 67 |
- page = session.get(check_url) |
|
| 68 |
- page = Nokogiri::XML page.body |
|
| 69 |
- predictions = page.css("//prediction")
|
|
| 70 |
- predictions.each do |pr| |
|
| 71 |
- parent = pr.parent.parent |
|
| 72 |
- vals = {routeTitle: parent["routeTitle"], stopTag: parent["stopTag"]}
|
|
| 73 |
- if pr["minutes"] && pr["minutes"].to_i < options["alert_window_in_minutes"].to_i |
|
| 74 |
- vals = vals.merge Hash.from_xml(pr.to_xml) |
|
| 75 |
- if not_already_in_memory?(vals) |
|
| 76 |
- create_event(:payload => vals) |
|
| 77 |
- add_to_memory(vals) |
|
| 78 |
- else |
|
| 67 |
+ hydra = Typhoeus::Hydra.new |
|
| 68 |
+ request = Typhoeus::Request.new(check_url, :followlocation => true) |
|
| 69 |
+ request.on_success do |response| |
|
| 70 |
+ page = Nokogiri::XML response.body |
|
| 71 |
+ predictions = page.css("//prediction")
|
|
| 72 |
+ predictions.each do |pr| |
|
| 73 |
+ parent = pr.parent.parent |
|
| 74 |
+ vals = {routeTitle: parent["routeTitle"], stopTag: parent["stopTag"]}
|
|
| 75 |
+ if pr["minutes"] && pr["minutes"].to_i < options["alert_window_in_minutes"].to_i |
|
| 76 |
+ vals = vals.merge Hash.from_xml(pr.to_xml) |
|
| 77 |
+ if not_already_in_memory?(vals) |
|
| 78 |
+ create_event(:payload => vals) |
|
| 79 |
+ add_to_memory(vals) |
|
| 80 |
+ else |
|
| 81 |
+ end |
|
| 79 | 82 |
end |
| 80 | 83 |
end |
| 81 | 84 |
end |
| 85 |
+ hydra.queue request |
|
| 86 |
+ hydra.run |
|
| 82 | 87 |
end |
| 83 | 88 |
def add_to_memory(vals) |
| 84 | 89 |
self.memory["existing_routes"] ||= [] |