our-eel-hacks 0.1.0 → 0.1.1

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.
@@ -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: