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.
- data/lib/our-eel-hacks/autoscaler.rb +1 -3
- data/spec/autoscaler.rb +14 -2
- metadata +7 -7
@@ -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
|
-
@
|
212
|
+
@last_scaled = moment
|
215
213
|
end
|
216
214
|
|
217
215
|
def clear_dyno_info
|
data/spec/autoscaler.rb
CHANGED
@@ -17,7 +17,7 @@ describe OurEelHacks::Autoscaler do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
let :soft_dur do
|
20
|
-
|
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
|
-
|
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.
|
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: &
|
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: *
|
24
|
+
version_requirements: *78524700
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: heroku-api
|
27
|
-
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: *
|
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.
|
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:
|
82
|
+
hash: -812621841
|
83
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|