right_support 2.6.11 → 2.6.12
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.
- data/lib/right_support/net/request_balancer.rb +16 -16
- data/right_support.gemspec +2 -2
- metadata +4 -4
@@ -111,17 +111,6 @@ module RightSupport::Net
|
|
111
111
|
new(endpoints, options).request(&block)
|
112
112
|
end
|
113
113
|
|
114
|
-
def resolve(endpoints)
|
115
|
-
resolved_endpoints = RightSupport::Net::DNS.resolve(endpoints)
|
116
|
-
@resolved_at = Time.now.to_i
|
117
|
-
logger.info("RequestBalancer: resolved #{endpoints.inspect} to #{resolved_endpoints.inspect}")
|
118
|
-
resolved_endpoints
|
119
|
-
end
|
120
|
-
|
121
|
-
def need_resolve?
|
122
|
-
@options[:resolve] && Time.now.to_i - @resolved_at > @options[:resolve]
|
123
|
-
end
|
124
|
-
|
125
114
|
# Constructor. Accepts a sequence of request endpoints which it shuffles randomly at
|
126
115
|
# creation time; however, the ordering of the endpoints does not change thereafter
|
127
116
|
# and the sequence is tried from the beginning for every request.
|
@@ -185,8 +174,10 @@ module RightSupport::Net
|
|
185
174
|
@endpoints = endpoints
|
186
175
|
|
187
176
|
if @options[:resolve]
|
188
|
-
|
177
|
+
# Perform initial DNS resolution
|
178
|
+
resolve
|
189
179
|
else
|
180
|
+
# Use endpoints as-is
|
190
181
|
@policy.set_endpoints(@endpoints)
|
191
182
|
end
|
192
183
|
end
|
@@ -207,10 +198,7 @@ module RightSupport::Net
|
|
207
198
|
def request
|
208
199
|
raise ArgumentError, "Must call this method with a block" unless block_given?
|
209
200
|
|
210
|
-
if need_resolve?
|
211
|
-
@ips = self.resolve(@endpoints)
|
212
|
-
@policy.set_endpoints(@ips)
|
213
|
-
end
|
201
|
+
resolve if need_resolve?
|
214
202
|
|
215
203
|
exceptions = {}
|
216
204
|
result = nil
|
@@ -332,6 +320,18 @@ module RightSupport::Net
|
|
332
320
|
end
|
333
321
|
end
|
334
322
|
|
323
|
+
def resolve
|
324
|
+
resolved_endpoints = RightSupport::Net::DNS.resolve(@endpoints)
|
325
|
+
logger.info("RequestBalancer: resolved #{@endpoints.inspect} to #{resolved_endpoints.inspect}")
|
326
|
+
@ips = resolved_endpoints
|
327
|
+
@policy.set_endpoints(@ips)
|
328
|
+
@resolved_at = Time.now.to_i
|
329
|
+
end
|
330
|
+
|
331
|
+
def need_resolve?
|
332
|
+
@options[:resolve] && Time.now.to_i - @resolved_at > @options[:resolve]
|
333
|
+
end
|
334
|
+
|
335
335
|
def test_policy_duck_type(object)
|
336
336
|
[:next, :good, :bad].all? { |m| object.respond_to?(m) }
|
337
337
|
end
|
data/right_support.gemspec
CHANGED
@@ -7,8 +7,8 @@ spec = Gem::Specification.new do |s|
|
|
7
7
|
s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
|
8
8
|
|
9
9
|
s.name = 'right_support'
|
10
|
-
s.version = '2.6.
|
11
|
-
s.date = '2013-01-
|
10
|
+
s.version = '2.6.12'
|
11
|
+
s.date = '2013-01-03'
|
12
12
|
|
13
13
|
s.authors = ['Tony Spataro', 'Sergey Sergyenko', 'Ryan Williamson', 'Lee Kirchhoff', 'Sergey Enin', 'Alexey Karpik', 'Scott Messier']
|
14
14
|
s.email = 'support@rightscale.com'
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 2.6.
|
9
|
+
- 12
|
10
|
+
version: 2.6.12
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tony Spataro
|
@@ -21,7 +21,7 @@ autorequire:
|
|
21
21
|
bindir: bin
|
22
22
|
cert_chain: []
|
23
23
|
|
24
|
-
date: 2013-01-
|
24
|
+
date: 2013-01-03 00:00:00 -08:00
|
25
25
|
default_executable:
|
26
26
|
dependencies: []
|
27
27
|
|