parallel_http 0.0.20 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/lib/parallel_http.rb +15 -3
- metadata +5 -11
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MjRmYmQ5YWNkZGVlZjRiNzY1NWFmMDRmMjMxNDliZDZhZTg5ODBhOA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NTgwMGU0NDgxZDE5NjVmNGI1MGNkMjNmZTkxYTA5NDM0MjQ0NmMyNg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Yjg1NTJmMzliNDc4MDY0Y2RmZGY5ZDFmMmE1YzNlYTFiMjUwNjFkNjNkN2Zh
|
10
|
+
N2RhZjhmOThmNDE1N2IxNmU3ZTJlMmE1ZTk0MzUxODVjZWQ4NzM4NzMwNDU0
|
11
|
+
NTg2NmJiODI0MWZmOWMyYWViY2ZhZjcyYzY4ZDMzYTI1MjBmYjU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MWJkYmFmMTUzNjBlNTYzN2FkZTViZjFhNmMwN2JlZjU5NDYwN2NkODBmYjRi
|
14
|
+
MDVkODY1NTgyMWM1NDY0YjFkZThjNjdkMDE0OGQyOTU3MDZhZmJhMGRiODc5
|
15
|
+
NWZhZDFlZjM5Y2EyMDgwZWQ2NjVjOThhOGZlMDA2ZjJjNTdlOTY=
|
data/lib/parallel_http.rb
CHANGED
@@ -5,6 +5,8 @@ require 'iconv' if RUBY_VERSION.to_f < 1.9
|
|
5
5
|
|
6
6
|
class ParallelHttp
|
7
7
|
@@verbose = false
|
8
|
+
@@results = []
|
9
|
+
@@reactor_running = EM.reactor_running?
|
8
10
|
def self.verbose!
|
9
11
|
@@verbose = true
|
10
12
|
end
|
@@ -12,7 +14,7 @@ class ParallelHttp
|
|
12
14
|
def self.exec requests, options={}
|
13
15
|
@@results = []
|
14
16
|
@@request_size = requests.size
|
15
|
-
if
|
17
|
+
if @@reactor_running
|
16
18
|
@@results = [{:error => "Have not tested this with an eventmachine reactor that is already running. Might have to change the code around a bit... I have an EM.stop in there and I know that would be bad if I shut down your reactor."}]
|
17
19
|
else
|
18
20
|
EM.run do
|
@@ -24,6 +26,16 @@ class ParallelHttp
|
|
24
26
|
@@results
|
25
27
|
end
|
26
28
|
|
29
|
+
def self.add requests, options={}
|
30
|
+
requests.each do |request|
|
31
|
+
ParallelHttp.single(request, options)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.results
|
36
|
+
@@results
|
37
|
+
end
|
38
|
+
|
27
39
|
def self.exec_result id, url, result, error=nil
|
28
40
|
body = ''
|
29
41
|
if RUBY_VERSION.to_f < 1.9
|
@@ -31,10 +43,10 @@ class ParallelHttp
|
|
31
43
|
else
|
32
44
|
body = result.response.force_encoding('UTF-8').encode('UTF-16', :invalid => :replace, :replace => '').encode('UTF-8')
|
33
45
|
end
|
34
|
-
hsh = {:id => id, :url =>
|
46
|
+
hsh = {:id => id, :url => result.last_effective_url, :response_code => result.response_header.status, :body => body}
|
35
47
|
hsh.merge!(:error => error) if error
|
36
48
|
@@results << hsh
|
37
|
-
if @@request_size == @@results.size
|
49
|
+
if @@request_size == @@results.size && !@@reactor_running
|
38
50
|
EM.stop
|
39
51
|
end
|
40
52
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parallel_http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.21
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Rodney Carvalho
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-10-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: eventmachine
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: em-http-request
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ! '>='
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -52,26 +47,25 @@ files:
|
|
52
47
|
- lib/parallel_http.rb
|
53
48
|
homepage: http://rubygems.org/gems/parallel_http
|
54
49
|
licenses: []
|
50
|
+
metadata: {}
|
55
51
|
post_install_message:
|
56
52
|
rdoc_options: []
|
57
53
|
require_paths:
|
58
54
|
- lib
|
59
55
|
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
56
|
requirements:
|
62
57
|
- - ! '>='
|
63
58
|
- !ruby/object:Gem::Version
|
64
59
|
version: '0'
|
65
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
61
|
requirements:
|
68
62
|
- - ! '>='
|
69
63
|
- !ruby/object:Gem::Version
|
70
64
|
version: '0'
|
71
65
|
requirements: []
|
72
66
|
rubyforge_project:
|
73
|
-
rubygems_version:
|
67
|
+
rubygems_version: 2.0.6
|
74
68
|
signing_key:
|
75
|
-
specification_version:
|
69
|
+
specification_version: 4
|
76
70
|
summary: Parallel HTTP calls
|
77
71
|
test_files: []
|