right_agent 2.4.4 → 2.4.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -206,7 +206,7 @@ module RightScale
206
206
  when "terminating", "reconnecting" then [200, nil]
207
207
  when "Errno::ETIMEDOUT" then [408, "Request timeout"]
208
208
  when "Errno::ECONNREFUSED" then [503, "Connection refused"]
209
- else [500, (error && error.to_s) || "HTTP connection failure for #{verb.to_s.upcase}"]
209
+ else [504, (error && error.to_s) || "HTTP connection failure for #{verb.to_s.upcase}"]
210
210
  end
211
211
  end
212
212
 
@@ -45,6 +45,16 @@ module EventMachineSpawn
45
45
  EM.next_tick(*args) { @fiber_pool ? @fiber_pool.spawn(&block) : yield }
46
46
  end
47
47
 
48
+ def self.wait(seconds)
49
+ if @fiber_pool
50
+ fiber = Fiber.current
51
+ EM.add_timer(seconds) { fiber.resume }
52
+ Fiber.yield
53
+ else
54
+ sleep(seconds)
55
+ end
56
+ end
57
+
48
58
  def self.add_timer(*args, &block)
49
59
  EM.add_timer(*args) { @fiber_pool ? @fiber_pool.spawn(&block) : yield }
50
60
  end
@@ -67,4 +77,4 @@ module EventMachineSpawn
67
77
  end
68
78
 
69
79
  # Alias for EventMachineSpawn
70
- EM_S = EventMachineSpawn
80
+ EM_S = EventMachineSpawn
data/right_agent.gemspec CHANGED
@@ -25,8 +25,8 @@ require 'rbconfig'
25
25
 
26
26
  Gem::Specification.new do |spec|
27
27
  spec.name = 'right_agent'
28
- spec.version = '2.4.4'
29
- spec.date = '2014-10-23'
28
+ spec.version = '2.4.5'
29
+ spec.date = '2015-01-28'
30
30
  spec.authors = ['Lee Kirchhoff', 'Raphael Simon', 'Tony Spataro', 'Scott Messier']
31
31
  spec.email = 'lee@rightscale.com'
32
32
  spec.homepage = 'https://github.com/rightscale/right_agent'
@@ -253,15 +253,15 @@ describe RightScale::NonBlockingClient do
253
253
  @request_options[:path].should == "/api/foo/bar"
254
254
  end
255
255
 
256
- it "converts connection errors to 500 by default" do
257
- @headers.http_status = 500
256
+ it "converts connection errors to 504 by default" do
257
+ @headers.http_status = 504
258
258
  @response.should_receive(:errback).and_yield.once
259
259
  @response.should_receive(:error).and_return(nil)
260
- @fiber.should_receive(:resume).with(500, "HTTP connection failure for GET").once
261
- flexmock(Fiber).should_receive(:yield).and_return([500, "HTTP connection failure for GET"]).once
260
+ @fiber.should_receive(:resume).with(504, "HTTP connection failure for GET").once
261
+ flexmock(Fiber).should_receive(:yield).and_return([504, "HTTP connection failure for GET"]).once
262
262
  flexmock(EM::HttpRequest).should_receive(:new).with(@host, @connect_options).and_return(@request).once
263
263
  lambda { @client.request(:get, @path, @host, @connect_options, @request_options) }.
264
- should raise_error(RightScale::HttpExceptions::InternalServerError)
264
+ should raise_error(RightScale::HttpExceptions::GatewayTimeout)
265
265
  end
266
266
 
267
267
  it "converts Errno::ETIMEDOUT error to 408 RequestTimeout" do
@@ -353,7 +353,7 @@ describe RightScale::NonBlockingClient do
353
353
  it "stops polling if there is an error" do
354
354
  @response.should_receive(:error).and_return("some error").once
355
355
  @response.should_receive(:errback).and_yield.once
356
- @fiber.should_receive(:resume).with(500, "some error").once
356
+ @fiber.should_receive(:resume).with(504, "some error").once
357
357
  @client.send(:poll_again, @fiber, @request, @request_options, @stop_at).should be true
358
358
  end
359
359
 
@@ -408,12 +408,12 @@ describe RightScale::NonBlockingClient do
408
408
  @client.send(:handle_error, :get, Errno::ECONNREFUSED).should == [503, "Connection refused"]
409
409
  end
410
410
 
411
- it "converts error to 500 InternalServerError by default" do
412
- @client.send(:handle_error, :get, "failed").should == [500, "failed"]
411
+ it "converts error to 504 GatewayTimeout by default" do
412
+ @client.send(:handle_error, :get, "failed").should == [504, "failed"]
413
413
  end
414
414
 
415
- it "generates error message for 500 InternalServerError if none specified" do
416
- @client.send(:handle_error, :get, nil).should == [500, "HTTP connection failure for GET"]
415
+ it "generates error message for 504 GatewayTimeout if none specified" do
416
+ @client.send(:handle_error, :get, nil).should == [504, "HTTP connection failure for GET"]
417
417
  end
418
418
  end
419
419
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.4
4
+ version: 2.4.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-10-23 00:00:00.000000000 Z
15
+ date: 2015-01-28 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: right_support
@@ -415,7 +415,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
415
415
  version: '0'
416
416
  segments:
417
417
  - 0
418
- hash: 2766248071266273264
418
+ hash: -1955218884392609250
419
419
  requirements: []
420
420
  rubyforge_project:
421
421
  rubygems_version: 1.8.26