our-eel-hacks 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -72,7 +72,6 @@ module OurEelHacks
72
72
 
73
73
  @last_scaled = Time.at(0)
74
74
  @entered_soft = Time.at(0)
75
- @last_reading = nil
76
75
 
77
76
  @app_name = nil
78
77
  @ps_type = nil
@@ -207,11 +206,10 @@ module OurEelHacks
207
206
 
208
207
  def update_dynos(new_value, moment)
209
208
  if new_value != dynos
210
- @last_scaled = moment
211
209
  @entered_soft = moment
212
210
  end
213
211
  @dynos = new_value
214
- @last_reading = moment
212
+ @last_scaled = moment
215
213
  end
216
214
 
217
215
  def clear_dyno_info
@@ -17,7 +17,7 @@ describe OurEelHacks::Autoscaler do
17
17
  end
18
18
 
19
19
  let :soft_dur do
20
- 5000
20
+ 8000
21
21
  end
22
22
 
23
23
  let :ideal_value do
@@ -110,6 +110,7 @@ describe OurEelHacks::Autoscaler do
110
110
  def no_requests
111
111
  OurEelHacks::HerokuClient.processing_budget = 0
112
112
  heroku.should_not_receive(:ps_scale)
113
+ heroku.should_not_receive(:ps)
113
114
  end
114
115
 
115
116
  describe "scaling frequency" do
@@ -130,6 +131,17 @@ describe OurEelHacks::Autoscaler do
130
131
  heroku.should_receive(:ps_scale).with(app_name, "web", 4)
131
132
  autoscaler.scale(hard_high)
132
133
  end
134
+
135
+ it "should not reconsider scaling even if we don't scale" do
136
+ time_advance(expected_scale_frequency + 5)
137
+ expect do
138
+ autoscaler.scale(ideal_value)
139
+ end.to change(autoscaler, :last_scaled)
140
+
141
+ no_requests
142
+ time_advance(expected_scale_frequency - 10)
143
+ autoscaler.scale(ideal_value)
144
+ end
133
145
  end
134
146
 
135
147
  describe "hard limits" do
@@ -170,7 +182,7 @@ describe OurEelHacks::Autoscaler do
170
182
  describe "if soft_duration hasn't elapsed" do
171
183
  before :each do
172
184
  time_adjust((expected_scale_frequency * 2) + soft_dur - 5)
173
- no_requests
185
+ heroku.should_not_receive(:ps_scale)
174
186
  end
175
187
 
176
188
  it "should not scale up" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: our-eel-hacks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: corundum
16
- requirement: &76255930 !ruby/object:Gem::Requirement
16
+ requirement: &78524700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.0.1
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *76255930
24
+ version_requirements: *78524700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: heroku-api
27
- requirement: &76255010 !ruby/object:Gem::Requirement
27
+ requirement: &78523710 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -36,7 +36,7 @@ dependencies:
36
36
  - 1
37
37
  type: :runtime
38
38
  prerelease: false
39
- version_requirements: *76255010
39
+ version_requirements: *78523710
40
40
  description: ! " Middleware for Rack and Sidekiq to scale heroku.\n\n A heroku process
41
41
  knows everything it needs in order to scale itself. A little configuration, and
42
42
  you're set.\n"
@@ -68,7 +68,7 @@ rdoc_options:
68
68
  - --main
69
69
  - doc/README
70
70
  - --title
71
- - our-eel-hacks-0.1.0 RDoc
71
+ - our-eel-hacks-0.1.1 RDoc
72
72
  require_paths:
73
73
  - lib/
74
74
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -79,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  segments:
81
81
  - 0
82
- hash: 939575183
82
+ hash: -812621841
83
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements: